Class EntryUUIDVirtualAttributeProvider


  • public class EntryUUIDVirtualAttributeProvider
    extends VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
    This class implements a virtual attribute provider that is meant to serve the entryUUID operational attribute as described in RFC 4530. Note that this should only be used for entries used in conjunction with data in private backends (e.g., those holding the configuration, schema, monitor, and root DSE entries). Real user data should have entry UUID values generated at the time the entries are added or imported.
    • Constructor Detail

      • EntryUUIDVirtualAttributeProvider

        public EntryUUIDVirtualAttributeProvider()
        Creates a new instance of this entryUUID virtual attribute provider.
    • Method Detail

      • getValues

        public Attribute getValues​(Entry entry,
                                   VirtualAttributeRule rule)
        Description copied from class: VirtualAttributeProvider
        Generates an unmodifiable attribute with the values for the provided entry.
        Specified by:
        getValues in class VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
        Parameters:
        entry - The entry for which the values are to be generated.
        rule - The virtual attribute rule which defines the constraints for the virtual attribute.
        Returns:
        The unmodifiable attribute with the values generated for the provided entry. It may be empty, but it must not be null.
      • hasValue

        public boolean hasValue​(Entry entry,
                                VirtualAttributeRule rule)
        Description copied from class: VirtualAttributeProvider
        Indicates whether this virtual attribute provider will generate at least one value for the provided entry.
        Overrides:
        hasValue in class VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
        Parameters:
        entry - The entry for which to make the determination.
        rule - The virtual attribute rule which defines the constraints for the virtual attribute.
        Returns:
        true if this virtual attribute provider will generate at least one value for the provided entry, or false if not.
      • matchesSubstring

        public ConditionResult matchesSubstring​(Entry entry,
                                                VirtualAttributeRule rule,
                                                ByteString subInitial,
                                                List<ByteString> subAny,
                                                ByteString subFinal)
        Description copied from class: VirtualAttributeProvider
        Indicates whether this virtual attribute provider will generate any value which matches the provided substring.
        Overrides:
        matchesSubstring in class VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
        Parameters:
        entry - The entry for which to make the determination.
        rule - The virtual attribute rule which defines the constraints for the virtual attribute.
        subInitial - The subInitial component to use in the determination.
        subAny - The subAny components to use in the determination.
        subFinal - The subFinal component to use in the determination.
        Returns:
        UNDEFINED if this attribute does not have a substring matching rule, TRUE if at least one value matches the provided substring, or FALSE otherwise.
      • greaterThanOrEqualTo

        public ConditionResult greaterThanOrEqualTo​(Entry entry,
                                                    VirtualAttributeRule rule,
                                                    ByteString value)
        Description copied from class: VirtualAttributeProvider
        Indicates whether this virtual attribute provider will generate any value for the provided entry that is greater than or equal to the given value.
        Overrides:
        greaterThanOrEqualTo in class VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
        Parameters:
        entry - The entry for which to make the determination.
        rule - The virtual attribute rule which defines the constraints for the virtual attribute.
        value - The assertion value for which to make the determination.
        Returns:
        UNDEFINED if the associated attribute type does not have an ordering matching rule, TRUE if at least one of the generated values will be greater than or equal to the specified assertion value, or FALSE if none of the generated values will be greater than or equal to the specified value.
      • lessThanOrEqualTo

        public ConditionResult lessThanOrEqualTo​(Entry entry,
                                                 VirtualAttributeRule rule,
                                                 ByteString value)
        Description copied from class: VirtualAttributeProvider
        Indicates whether this virtual attribute provider will generate any value for the provided entry that is less than or equal to the given value.
        Overrides:
        lessThanOrEqualTo in class VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
        Parameters:
        entry - The entry for which to make the determination.
        rule - The virtual attribute rule which defines the constraints for the virtual attribute.
        value - The assertion value for which to make the determination.
        Returns:
        UNDEFINED if the associated attribute type does not have an ordering matching rule, TRUE if at least one of the generated values will be less than or equal to the specified assertion value, or FALSE if none of the generated values will be greater than or equal to the specified value.
      • approximatelyEqualTo

        public ConditionResult approximatelyEqualTo​(Entry entry,
                                                    VirtualAttributeRule rule,
                                                    ByteString value)
        Description copied from class: VirtualAttributeProvider
        Indicates whether this virtual attribute provider will generate any value for the provided entry that is approximately equal to the given value.
        Overrides:
        approximatelyEqualTo in class VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
        Parameters:
        entry - The entry for which to make the determination.
        rule - The virtual attribute rule which defines the constraints for the virtual attribute.
        value - The assertion value for which to make the determination.
        Returns:
        UNDEFINED if the associated attribute type does not have an approximate matching rule, TRUE if at least one of the generated values will be approximately equal to the specified value, or FALSE if none of the generated values will be approximately equal to the specified assertion value.
      • isSearchable

        public boolean isSearchable​(VirtualAttributeRule rule,
                                    SearchOperation searchOperation,
                                    boolean isPreIndexed)
        Description copied from class: VirtualAttributeProvider
        Indicates whether this attribute may be included in search filters as part of the criteria for locating entries.
        Specified by:
        isSearchable in class VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
        Parameters:
        rule - The virtual attribute rule which defines the constraints for the virtual attribute.
        searchOperation - The search operation for which to make the determination.
        isPreIndexed - Indicates if we expect the search on the virtual attribute to be faster than an index search.
        Returns:
        true if this attribute may be included in search filters, or false if not.
      • processSearch

        public void processSearch​(VirtualAttributeRule rule,
                                  SearchOperation searchOperation)
        Description copied from class: VirtualAttributeProvider
        Processes the provided search operation in which the search criteria includes an operation targeted at this virtual attribute. This method should only be called if isSearchable returns true and it is not possible to construct a manageable candidate list by processing other elements of the search criteria.
        Specified by:
        processSearch in class VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
        Parameters:
        rule - The virtual attribute rule which defines the constraints for the virtual attribute.
        searchOperation - The search operation to be processed.