Class VirtualAttributeRule


  • @PublicAPI(stability=VOLATILE,
               mayInstantiate=false,
               mayExtend=false,
               mayInvoke=true)
    public final class VirtualAttributeRule
    extends Object
    This class defines a virtual attribute rule, which associates a virtual attribute provider with its associated configuration, including the attribute type for which the values should be generated; the base DN(s), group DN(s), and search filter(s) that should be used to identify which entries should have the virtual attribute, and how conflicts between real and virtual values should be handled.
    • Constructor Detail

      • VirtualAttributeRule

        public VirtualAttributeRule​(AttributeType attributeType,
                                    VirtualAttributeProvider<? extends VirtualAttributeCfg> provider,
                                    Set<DN> baseDNs,
                                    SearchScope scope,
                                    Set<DN> groupDNs,
                                    Set<SearchFilter> filters,
                                    VirtualAttributeCfgDefn.ConflictBehavior conflictBehavior)
        Creates a new virtual attribute rule with the provided information.
        Parameters:
        attributeType - The attribute type for which the values should be generated.
        provider - The virtual attribute provider to use to generate the values.
        baseDNs - The set of base DNs for branches that are eligible to have this virtual attribute.
        scope - The scope of entries, related to the base DNs, that are eligible to have this virtual attribute.
        groupDNs - The set of DNs for groups whose members are eligible to have this virtual attribute.
        filters - The set of search filters for entries that are eligible to have this virtual attribute.
        conflictBehavior - The behavior that the server should exhibit for entries that already have one or more real values for the target attribute.
    • Method Detail

      • getAttributeType

        public AttributeType getAttributeType()
        Retrieves the attribute type for which the values should be generated.
        Returns:
        The attribute type for which the values should be generated.
      • getProvider

        public VirtualAttributeProvider<? extends VirtualAttributeCfg> getProvider()
        Retrieves the virtual attribute provider used to generate the values.
        Returns:
        The virtual attribute provider to use to generate the values.
      • getBaseDNs

        public Set<DN> getBaseDNs()
        Retrieves the set of base DNs for branches that are eligible to have this virtual attribute.
        Returns:
        The set of base DNs for branches that are eligible to have this virtual attribute.
      • getScope

        public SearchScope getScope()
        Retrieves the scope of entries in the base DNs that are eligible to have this virtual attribute.
        Returns:
        The scope of entries that are eligible to have this virtual attribute.
      • getGroupDNs

        public Set<DN> getGroupDNs()
        Retrieves the set of DNs for groups whose members are eligible to have this virtual attribute.
        Returns:
        The set of DNs for groups whose members are eligible to have this virtual attribute.
      • getFilters

        public Set<SearchFilter> getFilters()
        Retrieves the set of search filters for entries that are eligible to have this virtual attribute.
        Returns:
        The set of search filters for entries that are eligible to have this virtual attribute.
      • getConflictBehavior

        public VirtualAttributeCfgDefn.ConflictBehavior getConflictBehavior()
        Retrieves the behavior that the server should exhibit for entries that already have one or more real values for the target attribute.
        Returns:
        The behavior that the server should exhibit for entries that already have one or more real values for the target attribute.
      • appliesToEntry

        public boolean appliesToEntry​(Entry entry)
        Indicates whether this virtual attribute rule applies to the provided entry, taking into account the eligibility requirements defined in the rule.
        Parameters:
        entry - The entry for which to make the determination.
        Returns:
        true if this virtual attribute rule may be used to generate values for the entry, or false if not.