org.opends.server.types
Class VirtualAttributeRule

java.lang.Object
  extended by org.opends.server.types.VirtualAttributeRule

@PublicAPI(stability=VOLATILE,
           mayInstantiate=false,
           mayExtend=false,
           mayInvoke=true)
public final class VirtualAttributeRule
extends java.lang.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 Summary
VirtualAttributeRule(AttributeType attributeType, VirtualAttributeProvider<? extends VirtualAttributeCfg> provider, java.util.Set<DN> baseDNs, java.util.Set<DN> groupDNs, java.util.Set<SearchFilter> filters, VirtualAttributeCfgDefn.ConflictBehavior conflictBehavior)
          Creates a new virtual attribute rule with the provided information.
 
Method Summary
 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.
 AttributeType getAttributeType()
          Retrieves the attribute type for which the values should be generated.
 java.util.Set<DN> getBaseDNs()
          Retrieves the set of base DNs for branches that are eligible to have this virtual attribute.
 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.
 java.util.Set<SearchFilter> getFilters()
          Retrieves the set of search filters for entries that are eligible to have this virtual attribute.
 java.util.Set<DN> getGroupDNs()
          Retrieves the set of DNs for groups whose members are eligible to have this virtual attribute.
 VirtualAttributeProvider<? extends VirtualAttributeCfg> getProvider()
          Retrieves the virtual attribute provider used to generate the values.
 java.lang.String toString()
          Retrieves a string representation of this virtual attribute rule.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this virtual attribute rule to the provided buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VirtualAttributeRule

public VirtualAttributeRule(AttributeType attributeType,
                            VirtualAttributeProvider<? extends VirtualAttributeCfg> provider,
                            java.util.Set<DN> baseDNs,
                            java.util.Set<DN> groupDNs,
                            java.util.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.
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 java.util.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.

getGroupDNs

public java.util.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 java.util.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.

toString

public java.lang.String toString()
Retrieves a string representation of this virtual attribute rule.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this virutal attribute rule.

toString

public void toString(java.lang.StringBuilder buffer)
Appends a string representation of this virtual attribute rule to the provided buffer.

Parameters:
buffer - The buffer to which the information should be written.