Class CollectiveVirtualAttribute

  • All Implemented Interfaces:
    Iterable<ByteString>, Attribute

    public class CollectiveVirtualAttribute
    extends AbstractAttribute
    This class defines a collective virtual attribute, which is a special kind of attribute whose values do not actually exist in persistent storage but rather are obtained dynamically from applicable collective attribute subentry.
    • Constructor Detail

      • CollectiveVirtualAttribute

        public CollectiveVirtualAttribute​(Attribute attribute)
        Creates a new collective virtual attribute.
        Parameters:
        attribute - The attribute this collective virtual attribute is based on.
    • Method Detail

      • approximatelyEqualTo

        public ConditionResult approximatelyEqualTo​(ByteString assertionValue)
        Description copied from interface: Attribute
        Indicates whether this attribute has any value(s) that are approximately equal to the provided value.
        Parameters:
        assertionValue - The assertion value for which to make the determination.
        Returns:
        ConditionResult.UNDEFINED if this attribute does not have an approximate matching rule, ConditionResult.TRUE if at least one value is approximately equal to the provided value, or ConditionResult.FALSE otherwise.
      • contains

        public boolean contains​(ByteString value)
        Description copied from interface: Attribute
        Indicates whether this attribute contains the specified value.
        Parameters:
        value - The value for which to make the determination.
        Returns:
        true if this attribute has the specified value, or false if not.
      • matchesEqualityAssertion

        public ConditionResult matchesEqualityAssertion​(ByteString assertionValue)
        Description copied from interface: Attribute
        Indicates whether this attribute matches the specified assertion value.
        Parameters:
        assertionValue - The assertion value for which to make the determination.
        Returns:
        true if this attribute matches the specified assertion value, or false if not.
      • getAttributeDescription

        public AttributeDescription getAttributeDescription()
        Description copied from interface: Attribute
        Retrieves the attribute description for this attribute.
        Returns:
        The attribute description for this attribute.
      • greaterThanOrEqualTo

        public ConditionResult greaterThanOrEqualTo​(ByteString assertionValue)
        Description copied from interface: Attribute
        Indicates whether this attribute has any value(s) that are greater than or equal to the provided value.
        Parameters:
        assertionValue - The assertion value for which to make the determination.
        Returns:
        ConditionResult.UNDEFINED if this attribute does not have an ordering matching rule, ConditionResult.TRUE if at least one value is greater than or equal to the provided assertion value, or ConditionResult.FALSE otherwise.
      • isVirtual

        public boolean isVirtual()
        Description copied from interface: Attribute
        Indicates whether this is a virtual attribute (dynamically computed) rather than a real attribute (persisted).
        Returns:
        true if this is a virtual attribute.
      • iterator

        public Iterator<ByteString> iterator()
        Description copied from interface: Attribute
        Returns an iterator over the attribute values in this attribute. The attribute values are returned in the order in which they were added this attribute. The returned iterator does not support attribute value removals via Iterator.remove().
        Returns:
        An iterator over the attribute values in this attribute.
      • lessThanOrEqualTo

        public ConditionResult lessThanOrEqualTo​(ByteString assertionValue)
        Description copied from interface: Attribute
        Indicates whether this attribute has any value(s) that are less than or equal to the provided value.
        Parameters:
        assertionValue - The assertion value for which to make the determination.
        Returns:
        ConditionResult.UNDEFINED if this attribute does not have an ordering matching rule, ConditionResult.TRUE if at least one value is less than or equal to the provided assertion value, or ConditionResult.FALSE otherwise.
      • matchesSubstring

        public ConditionResult matchesSubstring​(ByteString subInitial,
                                                List<ByteString> subAny,
                                                ByteString subFinal)
        Description copied from interface: Attribute
        Indicates whether this attribute has any value(s) that match the provided substring.
        Parameters:
        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:
        ConditionResult.UNDEFINED if this attribute does not have a substring matching rule, ConditionResult.TRUE if at least one value matches the provided substring, or ConditionResult.FALSE otherwise.
      • size

        public int size()
        Description copied from interface: Attribute
        Returns the number of attribute values in this attribute.
        Returns:
        The number of attribute values in this attribute.
      • hashCode

        public int hashCode()
        Description copied from interface: Attribute
        Retrieves the hash code for this attribute. It will be calculated as the sum of the hash code for the attribute type and all values.
        Specified by:
        hashCode in interface Attribute
        Overrides:
        hashCode in class AbstractAttribute
        Returns:
        The hash code for this attribute.
      • toString

        public void toString​(StringBuilder buffer)
        Description copied from interface: Attribute
        Appends a one-line string representation of this attribute to the provided buffer.
        Parameters:
        buffer - The buffer to which the information should be appended.