org.apache.directory.api.ldap.model.schema
Class LdapSyntax

java.lang.Object
  extended by org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
      extended by org.apache.directory.api.ldap.model.schema.LdapSyntax
All Implemented Interfaces:
Serializable, SchemaObject

public class LdapSyntax
extends AbstractSchemaObject

A syntax definition. Each attribute stored in a directory has a defined syntax (i.e. data type) which constrains the structure and format of its values. The description of each syntax specifies how attribute or assertion values conforming to the syntax are normally represented when transferred in LDAP operations. This representation is referred to as the LDAP-specific encoding to distinguish it from other methods of encoding attribute values.

According to ldapbis [MODELS]:

  4.1.5. LDAP Syntaxes
 
    LDAP Syntaxes of (attribute and assertion) values are described in
    terms of ASN.1 [X.680] and, optionally, have an octet string encoding
    known as the LDAP-specific encoding.  Commonly, the LDAP-specific
    encoding is constrained to string of Universal Character Set (UCS)
    [ISO10646] characters in UTF-8 [UTF-8] form.
 
    Each LDAP syntax is identified by an object identifier (OID).
 
    LDAP syntax definitions are written according to the ABNF:
 
      SyntaxDescription = LPAREN WSP
          numericoid                ; object identifier
          [ SP "DESC" SP qdstring ] ; description
          extensions WSP RPAREN     ; extensions
 
    where:
      [numericoid] is object identifier assigned to this LDAP syntax;
      DESC [qdstring] is a short descriptive string; and
      [extensions] describe extensions.
 

Author:
Apache Directory Project
See Also:
RFC2252 Section 4.3.3, ldapbis [MODELS], DescriptionUtils#getDescription(Syntax), Serialized Form

Field Summary
protected  boolean isHumanReadable
          the human readable flag
protected  SyntaxChecker syntaxChecker
          The associated SyntaxChecker
 
Fields inherited from class org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
description, extensions, isEnabled, isObsolete, isReadOnly, locked, names, objectType, oid, schemaName, specification
 
Constructor Summary
LdapSyntax(String oid)
          Creates a Syntax object using a unique OID.
LdapSyntax(String oid, String description)
          Creates a Syntax object using a unique OID.
LdapSyntax(String oid, String description, boolean isHumanReadable)
          Creates a Syntax object using a unique OID.
 
Method Summary
 void clear()
          Clear the current SchemaObject : remove all the references to other objects, and all the Maps.
 LdapSyntax copy()
          Copy the current SchemaObject on place
 boolean equals(Object o)
          
 SyntaxChecker getSyntaxChecker()
          Gets whether or not the Human Readable extension is present in the Syntax.
 boolean isHumanReadable()
          Gets whether or not the Syntax is human readable.
 void setHumanReadable(boolean humanReadable)
          Sets the human readable flag value.
 void setSyntaxChecker(SyntaxChecker syntaxChecker)
          Sets the associated SyntaxChecker
 String toString()
          
 void updateSyntaxChecker(SyntaxChecker newSyntaxChecker)
          Update the associated SyntaxChecker, even if the SchemaObject is readOnly
 
Methods inherited from class org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
addExtension, addExtension, addName, compareOid, copy, getDescription, getExtensions, getName, getNames, getObjectType, getOid, getSchemaName, getSpecification, hashCode, isDisabled, isEnabled, isObsolete, isReadOnly, lock, setDescription, setEnabled, setExtensions, setNames, setNames, setObsolete, setOid, setReadOnly, setSchemaName, setSpecification, unlock
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

isHumanReadable

protected boolean isHumanReadable
the human readable flag


syntaxChecker

protected SyntaxChecker syntaxChecker
The associated SyntaxChecker

Constructor Detail

LdapSyntax

public LdapSyntax(String oid)
Creates a Syntax object using a unique OID.

Parameters:
oid - the OID for this Syntax

LdapSyntax

public LdapSyntax(String oid,
                  String description)
Creates a Syntax object using a unique OID.

Parameters:
oid - the OID for this syntax
description - the description for this syntax

LdapSyntax

public LdapSyntax(String oid,
                  String description,
                  boolean isHumanReadable)
Creates a Syntax object using a unique OID.

Parameters:
oid - the OID for this syntax
description - the description for this syntax
isHumanReadable - true if this syntax is human readable
Method Detail

isHumanReadable

public boolean isHumanReadable()
Gets whether or not the Syntax is human readable.

Returns:
true if the syntax can be interpreted by humans, false otherwise

setHumanReadable

public void setHumanReadable(boolean humanReadable)
Sets the human readable flag value.

Parameters:
humanReadable - the human readable flag value to set

getSyntaxChecker

public SyntaxChecker getSyntaxChecker()
Gets whether or not the Human Readable extension is present in the Syntax.

Returns:
true if the syntax contains teh X-NOT-HUMAN-READABLE extension public boolean hasHumanReadableFlag() { return hasHumanReadableFlag; } /** Sets the hasHumanReadableFlag to true if we have a X-NOT-HUMAN-READABLE extension public void setHasHumanReadableFlag() { hasHumanReadableFlag = true; } /** Gets the SyntaxChecker used to validate values in accordance with this Syntax.

setSyntaxChecker

public void setSyntaxChecker(SyntaxChecker syntaxChecker)
Sets the associated SyntaxChecker

Parameters:
syntaxChecker - The associated SyntaxChecker

updateSyntaxChecker

public void updateSyntaxChecker(SyntaxChecker newSyntaxChecker)
Update the associated SyntaxChecker, even if the SchemaObject is readOnly

Parameters:
newSyntaxChecker - The associated SyntaxChecker

toString

public String toString()

Overrides:
toString in class Object

copy

public LdapSyntax copy()
Copy the current SchemaObject on place

Specified by:
copy in interface SchemaObject
Specified by:
copy in class AbstractSchemaObject
Returns:
The copied SchemaObject

equals

public boolean equals(Object o)

Specified by:
equals in interface SchemaObject
Overrides:
equals in class AbstractSchemaObject

clear

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

Specified by:
clear in interface SchemaObject
Overrides:
clear in class AbstractSchemaObject


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