org.apache.directory.api.ldap.model.schema
Interface SchemaObject

All Known Implementing Classes:
AbstractSchemaObject, AccessPointSyntaxChecker, AttributeType, AttributeTypeDescriptionSyntaxChecker, AttributeTypeUsageSyntaxChecker, AudioSyntaxChecker, BinarySyntaxChecker, BitStringComparator, BitStringSyntaxChecker, BooleanComparator, BooleanNormalizer, BooleanSyntaxChecker, ByteArrayComparator, CachingDeepTrimNormalizer, CachingDeepTrimToLowerNormalizer, CachingDnNormalizer, CachingNormalizer, CertificateListSyntaxChecker, CertificatePairSyntaxChecker, CertificateSyntaxChecker, ComparableComparator, ComparatorSyntaxChecker, CountrySyntaxChecker, CsnComparator, CsnSidComparator, CsnSidSyntaxChecker, CsnSyntaxChecker, DataQualitySyntaxSyntaxChecker, DeepTrimCachingNormalizingComparator, DeepTrimNormalizer, DeepTrimToLowerCachingNormalizingComparator, DeepTrimToLowerNormalizer, DefaultStringNormalizer, DeliveryMethodSyntaxChecker, DerefAliasSyntaxChecker, DirectoryStringSyntaxChecker, DitContentRule, DitContentRuleDescriptionSyntaxChecker, DitStructureRule, DitStructureRuleDescriptionSyntaxChecker, DlSubmitPermissionSyntaxChecker, DnComparator, DnNormalizer, DnSyntaxChecker, DsaQualitySyntaxSyntaxChecker, DseTypeSyntaxChecker, EnhancedGuideSyntaxChecker, FacsimileTelephoneNumberSyntaxChecker, FaxSyntaxChecker, GeneralizedTimeComparator, GeneralizedTimeNormalizer, GeneralizedTimeSyntaxChecker, GuideSyntaxChecker, Ia5StringSyntaxChecker, IntegerComparator, IntegerSyntaxChecker, JavaByteSyntaxChecker, JavaIntegerSyntaxChecker, JavaLongSyntaxChecker, JavaShortSyntaxChecker, JpegSyntaxChecker, LdapComparator, LdapComparatorDescription, LdapSyntax, LdapSyntaxDescriptionSyntaxChecker, LoadableSchemaObject, LongComparator, MailPreferenceSyntaxChecker, MasterAndShadowAccessPointSyntaxChecker, MatchingRule, MatchingRuleDescriptionSyntaxChecker, MatchingRuleUse, MatchingRuleUseDescriptionSyntaxChecker, MhsOrAddressSyntaxChecker, MutableAttributeType, MutableMatchingRule, MutableObjectClass, NameAndOptionalUIDSyntaxChecker, NameForm, NameFormDescriptionSyntaxChecker, NameOrNumericIdNormalizer, NoOpNormalizer, Normalizer, NormalizerDescription, NormalizerSyntaxChecker, NumberSyntaxChecker, NumericNormalizer, NumericOidSyntaxChecker, NumericStringComparator, NumericStringSyntaxChecker, ObjectClass, ObjectClassDescriptionSyntaxChecker, ObjectClassTypeComparator, ObjectClassTypeSyntaxChecker, ObjectIdentifierComparator, ObjectIdentifierFirstComponentComparator, ObjectIdentifierNormalizer, ObjectNameSyntaxChecker, OctetStringSyntaxChecker, OidLenSyntaxChecker, OidSyntaxChecker, OtherMailboxSyntaxChecker, PostalAddressSyntaxChecker, PresentationAddressSyntaxChecker, PrintableStringSyntaxChecker, ProtocolInformationSyntaxChecker, RegexNormalizer, RegexSyntaxChecker, SearchScopeSyntaxChecker, SerializableComparator, StringComparator, SubstringAssertionSyntaxChecker, SubtreeSpecificationSyntaxChecker, SupplierAndConsumerSyntaxChecker, SupplierInformationSyntaxChecker, SupplierOrConsumerSyntaxChecker, SupportedAlgorithmSyntaxChecker, SyntaxChecker, SyntaxCheckerDescription, SyntaxCheckerSyntaxChecker, TelephoneNumberComparator, TelephoneNumberNormalizer, TelephoneNumberSyntaxChecker, TeletexTerminalIdentifierSyntaxChecker, TelexNumberSyntaxChecker, UniqueMemberComparator, UniqueMemberNormalizer, UtcTimeSyntaxChecker, UuidComparator, UuidSyntaxChecker, WordComparator

public interface SchemaObject

Most schema objects have some common attributes. This class contains the minimum set of properties exposed by a SchemaObject.
We have 11 types of SchemaObjects :

  • AttributeType
  • DitCOntentRule
  • DitStructureRule
  • LdapComparator (specific to ADS)
  • LdapSyntaxe
  • MatchingRule
  • MatchingRuleUse
  • NameForm
  • Normalizer (specific to ADS)
  • ObjectClass
  • SyntaxChecker (specific to ADS)

    This class provides accessors and setters for the following attributes, which are common to all those SchemaObjects :
  • oid : The numeric OID
  • description : The SchemaObject description
  • obsolete : Tells if the schema object is obsolete
  • extensions : The extensions, a key/Values map
  • schemaObjectType : The SchemaObject type (see upper)
  • schema : The schema the SchemaObject is associated with (it's an extension). Can be null
  • isEnabled : The SchemaObject status (it's related to the schema status)
  • isReadOnly : Tells if the SchemaObject can be modified or not

    Some of those attributes are not used by some Schema elements, even if they should have been used. Here is the list : name : LdapSyntax, Comparator, Normalizer, SyntaxChecker numericOid : DitStructureRule, obsolete : LdapSyntax, Comparator, Normalizer, SyntaxChecker

    Author:
    Apache Directory Project

    Method Summary
     void addExtension(String key, List<String> values)
              Add an extension with its values
     void addExtension(String key, String... values)
              Add an extension with its values
     void addName(String... names)
              Add a new name to the list of names for this SchemaObject.
     void clear()
              Clear the current SchemaObject : remove all the references to other objects, and all the Maps.
     SchemaObject copy()
              Copy the current SchemaObject on place
     SchemaObject copy(SchemaObject original)
              Copies the given schema object into this schema object.
     boolean equals(Object o1)
              
     String getDescription()
              Gets a short description about this SchemaObject.
     Map<String,List<String>> getExtensions()
               
     String getName()
              Gets the first name in the set of short names for this SchemaObject if any exists for it.
     List<String> getNames()
              Gets short names for this SchemaObject if any exists for it, otherwise, returns an empty list.
     SchemaObjectType getObjectType()
              The SchemaObject type : AttributeType DitCOntentRule DitStructureRule LdapComparator (specific to ADS) LdapSyntaxe MatchingRule MatchingRuleUse NameForm Normalizer (specific to ADS) ObjectClass SyntaxChecker (specific to ADS)
     String getOid()
              Gets usually what is the numeric object identifier assigned to this SchemaObject.
     String getSchemaName()
              Gets the name of the schema this SchemaObject is associated with.
     String getSpecification()
              Gets the SchemaObject specification.
     int hashCode()
              
     boolean isDisabled()
              Tells if this SchemaObject is disabled.
     boolean isEnabled()
              Tells if this SchemaObject is enabled.
     boolean isObsolete()
              Gets whether or not this SchemaObject has been inactivated.
     boolean isReadOnly()
              Tells if this SchemaObject is ReadOnly.
     void lock()
              Transform the SchemaObject to an immutable object TODO locked.
     void setDescription(String description)
              Sets the SchemaObject's description
     void setEnabled(boolean enabled)
              Sets the SchemaObject state, either enabled or disabled.
     void setExtensions(Map<String,List<String>> extensions)
              Add an extensions with their values.
     void setNames(List<String> names)
              Sets the list of names for this SchemaObject.
     void setObsolete(boolean obsolete)
              Sets the Obsolete flag.
     void setOid(String oid)
              A special method used when renaming an SchemaObject: we may have to change it's OID
     void setReadOnly(boolean isReadOnly)
              Sets the SchemaObject readOnly flag
     void setSchemaName(String schemaName)
              Sets the name of the schema this SchemaObject is associated with.
     void setSpecification(String specification)
              Sets the SchemaObject's specification
     

    Method Detail

    getOid

    String getOid()
    Gets usually what is the numeric object identifier assigned to this SchemaObject. All schema objects except for MatchingRuleUses have an OID assigned specifically to then. A MatchingRuleUse's OID really is the OID of it's MatchingRule and not specific to the MatchingRuleUse. This effects how MatchingRuleUse objects are maintained by the system.

    Returns:
    an OID for this SchemaObject or its MatchingRule if this SchemaObject is a MatchingRuleUse object

    setOid

    void setOid(String oid)
    A special method used when renaming an SchemaObject: we may have to change it's OID

    Parameters:
    oid - The new OID

    getNames

    List<String> getNames()
    Gets short names for this SchemaObject if any exists for it, otherwise, returns an empty list.

    Returns:
    the names for this SchemaObject

    getName

    String getName()
    Gets the first name in the set of short names for this SchemaObject if any exists for it.

    Returns:
    the first of the names for this SchemaObject or the oid if one does not exist

    addName

    void addName(String... names)
    Add a new name to the list of names for this SchemaObject. The name is lower cased and trimmed.

    Parameters:
    names - The names to add

    setNames

    void setNames(List<String> names)
    Sets the list of names for this SchemaObject. The names are lower cased and trimmed.

    Parameters:
    names - The list of names. Can be empty

    getDescription

    String getDescription()
    Gets a short description about this SchemaObject.

    Returns:
    a short description about this SchemaObject

    setDescription

    void setDescription(String description)
    Sets the SchemaObject's description

    Parameters:
    description - The SchemaObject's description

    getSpecification

    String getSpecification()
    Gets the SchemaObject specification.

    Returns:
    the SchemaObject specification

    setSpecification

    void setSpecification(String specification)
    Sets the SchemaObject's specification

    Parameters:
    specification - The SchemaObject's specification

    isEnabled

    boolean isEnabled()
    Tells if this SchemaObject is enabled.

    Returns:
    true if the SchemaObject is enabled, or if it depends on an enabled schema

    isDisabled

    boolean isDisabled()
    Tells if this SchemaObject is disabled.

    Returns:
    true if the SchemaObject is disabled

    setEnabled

    void setEnabled(boolean enabled)
    Sets the SchemaObject state, either enabled or disabled.

    Parameters:
    enabled - The current SchemaObject state

    isReadOnly

    boolean isReadOnly()
    Tells if this SchemaObject is ReadOnly.

    Returns:
    true if the SchemaObject is not modifiable

    setReadOnly

    void setReadOnly(boolean isReadOnly)
    Sets the SchemaObject readOnly flag

    Parameters:
    isReadOnly - The current SchemaObject ReadOnly status

    isObsolete

    boolean isObsolete()
    Gets whether or not this SchemaObject has been inactivated. All SchemaObjects except Syntaxes allow for this parameter within their definition. For Syntaxes this property should always return false in which case it is never included in the description.

    Returns:
    true if inactive, false if active

    setObsolete

    void setObsolete(boolean obsolete)
    Sets the Obsolete flag.

    Parameters:
    obsolete - The Obsolete flag state

    getExtensions

    Map<String,List<String>> getExtensions()
    Returns:
    The SchemaObject extensions, as a Map of [extension, values]

    addExtension

    void addExtension(String key,
                      String... values)
    Add an extension with its values

    Parameters:
    key - The extension key
    values - The associated values

    addExtension

    void addExtension(String key,
                      List<String> values)
    Add an extension with its values

    Parameters:
    key - The extension key
    values - The associated values

    setExtensions

    void setExtensions(Map<String,List<String>> extensions)
    Add an extensions with their values. (Actually do a copy)

    Parameters:
    extensions - The extensions map

    getObjectType

    SchemaObjectType getObjectType()
    The SchemaObject type :
  • AttributeType
  • DitCOntentRule
  • DitStructureRule
  • LdapComparator (specific to ADS)
  • LdapSyntaxe
  • MatchingRule
  • MatchingRuleUse
  • NameForm
  • Normalizer (specific to ADS)
  • ObjectClass
  • SyntaxChecker (specific to ADS)

    Returns:
    the SchemaObject type

  • getSchemaName

    String getSchemaName()
    Gets the name of the schema this SchemaObject is associated with.

    Returns:
    the name of the schema associated with this schemaObject

    setSchemaName

    void setSchemaName(String schemaName)
    Sets the name of the schema this SchemaObject is associated with.

    Parameters:
    schemaName - the new schema name

    hashCode

    int hashCode()

    Overrides:
    hashCode in class Object

    equals

    boolean equals(Object o1)

    Overrides:
    equals in class Object

    copy

    SchemaObject copy()
    Copy the current SchemaObject on place

    Returns:
    The copied SchemaObject

    copy

    SchemaObject copy(SchemaObject original)
    Copies the given schema object into this schema object.

    Parameters:
    original - the original SchemaObject
    Returns:
    this

    clear

    void clear()
    Clear the current SchemaObject : remove all the references to other objects, and all the Maps.


    lock

    void lock()
    Transform the SchemaObject to an immutable object TODO locked.



    Copyright © 2003-2013 The Apache Software Foundation. All Rights Reserved.