Class ACIWorld

java.lang.Object
com.isode.dsapi.aci.ACIWorld

public class ACIWorld extends Object
ACIWorld: a representation of all the ACI-related data for the whole DIT. This allows querying it and generating further ACIWorld instances representing limited views of the data.
Author:
jp
  • Field Details

  • Constructor Details

    • ACIWorld

      public ACIWorld()
      Construct a new instance.
  • Method Details

    • addValue

      public List<String> addValue(AttributeType attrtype, AttributeValue av, DN source, boolean issubentry, List<DN> acsa, ACIRegion subtreespec)
      Add the ACI from a single AttributeValue.
      Parameters:
      attrtype - AttributeType
      av - AttributeValue
      source - DN of entry that this was taken from
      issubentry - Is the source entry a sub-entry?
      acsa - List of ACSAs (access control specific areas), or null
      subtreespec - ACIRegion generated from the subtreeSpecification (for prescriptiveACI), or null if none
      Returns:
      A list of error-strings, which will be empty on success
    • addEntry

      public List<String> addEntry(Entry entry, boolean issubentry, List<DN> acsa)
      Add/update all the ACI contained in the given Entry. If any ACI for this entry has previously been loaded, it is deleted before loading the new data.
      Parameters:
      entry - Entry to process and add
      issubentry - Is this entry a sub-entry?
      acsa - List of ACSAs (access control specific areas), or null
      Returns:
      A list of error-strings, which will be empty on success
    • addSubtree

      public List<String> addSubtree(DirectorySession ds, DN base)
      Scan the whole tree below a given point for ACI and load it up into the ACIWorld. Also pick up ACI from ancestors. This needs to be called from the background thread.

      TODO: Won't yet handle subtrees affected by limit errors from the DSA.

    • toString

      public String toString()
      Generate debugging string of ACIWorld contents.
      Overrides:
      toString in class Object