Class ObjectClass

  • All Implemented Interfaces:
    SchemaElement

    public final class ObjectClass
    extends Object
    This class defines a data structure for storing and interacting with an objectclass, which contains a collection of attributes that must and/or may be present in an entry with that objectclass.

    Where ordered sets of names, attribute types, or extra properties are provided, the ordering will be preserved when the associated fields are accessed via their getters or via the Object.toString() methods.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ObjectClass.Builder
      A fluent API for incrementally constructing object classes.
    • Method Detail

      • equals

        public boolean equals​(Object o)
        Returns true if the provided object is an object class having the same numeric OID as this object class.
        Parameters:
        o - The object to be compared.
        Returns:
        true if the provided object is a object class having the same numeric OID as this object class.
      • getDeclaredOptionalAttributes

        public Set<AttributeType> getDeclaredOptionalAttributes()
        Returns an unmodifiable set containing the optional attributes for this object class. Note that this set will not automatically include any optional attributes for superior object classes.
        Returns:
        An unmodifiable set containing the optional attributes for this object class.
      • getDeclaredRequiredAttributes

        public Set<AttributeType> getDeclaredRequiredAttributes()
        Returns an unmodifiable set containing the required attributes for this object class. Note that this set will not automatically include any required attributes for superior object classes.
        Returns:
        An unmodifiable set containing the required attributes for this object class.
      • getNameOrOid

        public String getNameOrOid()
        Returns the name or OID for this schema definition. If it has one or more names, then the primary name will be returned. If it does not have any names, then the OID will be returned.
        Returns:
        The name or OID for this schema definition.
      • getNames

        public List<String> getNames()
        Returns an unmodifiable list containing the user-defined names that may be used to reference this schema definition.
        Returns:
        Returns an unmodifiable list containing the user-defined names that may be used to reference this schema definition.
      • getObjectClassType

        public ObjectClassType getObjectClassType()
        Returns the objectclass type for this objectclass.
        Returns:
        The objectclass type for this objectclass.
      • getOid

        public String getOid()
        Returns the OID for this schema definition.
        Returns:
        The OID for this schema definition.
      • getOptionalAttributes

        public Set<AttributeType> getOptionalAttributes()
        Returns an unmodifiable set containing the optional attributes for this object class and any superior object classes that it might have.
        Returns:
        An unmodifiable set containing the optional attributes for this object class and any superior object classes that it might have.
      • getRequiredAttributes

        public Set<AttributeType> getRequiredAttributes()
        Returns an unmodifiable set containing the required attributes for this object class and any superior object classes that it might have.
        Returns:
        An unmodifiable set containing the required attributes for this object class and any superior object classes that it might have.
      • getSuperiorClasses

        public Set<ObjectClass> getSuperiorClasses()
        Returns an unmodifiable set containing the superior classes for this object class.
        Returns:
        An unmodifiable set containing the superior classes for this object class.
      • hashCode

        public int hashCode()
        Returns the hash code for this object class. It will be calculated as the hash code of the numeric OID.
        Returns:
        The hash code for this object class.
      • hasName

        public boolean hasName​(String name)
        Indicates whether this schema definition has the specified name.
        Parameters:
        name - The name for which to make the determination.
        Returns:
        true if the specified name is assigned to this schema definition, or false if not.
      • hasNameOrOid

        public boolean hasNameOrOid​(String value)
        Indicates whether this schema definition has the specified name or OID.
        Parameters:
        value - The value for which to make the determination.
        Returns:
        true if the provided value matches the OID or one of the names assigned to this schema definition, or false if not.
      • isDescendantOf

        public boolean isDescendantOf​(ObjectClass objectClass)
        Indicates whether this objectclass is a descendant of the provided class.
        Parameters:
        objectClass - The objectClass for which to make the determination.
        Returns:
        true if this objectclass is a descendant of the provided class, or false if not.
      • isExtensible

        public boolean isExtensible()
        Indicates whether this object class is extensibleObject class.

        An extensible object class has an optional attributes list corresponding to all the attributes types defined in the schema. It means any attribute type can be used with this object class.

        Returns:
        true if this object class is extensible.
      • isObsolete

        public boolean isObsolete()
        Indicates whether this schema definition is declared "obsolete".
        Returns:
        true if this schema definition is declared "obsolete", or false if not.
      • isPlaceHolder

        public boolean isPlaceHolder()
        Returns whether this object class is a placeholder, i.e. a dummy object class that does not exist in the schema.
        Returns:
        true if this object class is a placeholder, false otherwise
      • isOptional

        public boolean isOptional​(AttributeType attributeType)
        Indicates whether the provided attribute type is included in the optional attribute list for this or any of its superior objectclasses.
        Parameters:
        attributeType - The attribute type for which to make the determination.
        Returns:
        true if the provided attribute type is optional for this objectclass or any of its superior classes, or false if not.
      • isRequired

        public boolean isRequired​(AttributeType attributeType)
        Indicates whether the provided attribute type is included in the required attribute list for this or any of its superior objectclasses.
        Parameters:
        attributeType - The attribute type for which to make the determination.
        Returns:
        true if the provided attribute type is required by this objectclass or any of its superior classes, or false if not.
      • isRequiredOrOptional

        public boolean isRequiredOrOptional​(AttributeType attributeType)
        Indicates whether the provided attribute type is in the list of required or optional attributes for this objectclass or any of its superior classes.
        Parameters:
        attributeType - The attribute type for which to make the determination.
        Returns:
        true if the provided attribute type is required or allowed for this objectclass or any of its superior classes, or false if it is not.
      • getDescription

        public final String getDescription()
        Description copied from interface: SchemaElement
        Returns the description of this schema element, or the empty string if it does not have a description.
        Specified by:
        getDescription in interface SchemaElement
        Returns:
        The description of this schema element, or the empty string if it does not have a description.
      • getExtraProperties

        public final Map<String,​List<String>> getExtraProperties()
        Description copied from interface: SchemaElement
        Returns an unmodifiable map containing all of the extra properties associated with this schema element.
        Specified by:
        getExtraProperties in interface SchemaElement
        Returns:
        An unmodifiable map containing all of the extra properties associated with this schema element.
      • toString

        public final String toString()
        Returns the string representation of this schema element as defined in RFC 2252.
        Overrides:
        toString in class Object
        Returns:
        The string representation of this schema element as defined in RFC 2252.