The definition of an attribute type in the schema.
RFC 2252, Lightweight Directory Access Protocol (v3):
Attribute Syntax Definitions covers the types of information
to specify when defining an attribute type. According to the RFC,
the description of an attribute type can include the following:
- an OID identifying the attribute type
- a name identifying the attribute type
- a description of the attribute type
- the name of the parent attribute type
- the syntax used by the attribute (for example,
cis
or int
)
- an indication of whether the attribute type is single-valued
or multi-valued
When you construct an
LDAPAttributeSchema
object, you can
specify these types of information as arguments to the constructor or
in the AttributeTypeDescription format specified in RFC 2252.
When an LDAP client searches an LDAP server for the schema, the server
returns schema information as an object with attribute values in this
format.
There a number of additional optional description fields which
are not explicitly accessible through LDAPAttributeSchema, but which
can be managed with setQualifier, getQualifier, and getQualifierNames:
- EQUALITY
- ORDERING
- SUBSTR
- COLLECTIVE
- NO-USER-MODIFICATION
- USAGE
- OBSOLETE
To get the name, OID, and description of this attribute type
definition, use the
getName
,
getOID
, and
getDescription
methods inherited from the abstract class
LDAPSchemaElement
. Optional and custom qualifiers are
accessed with
getQualifier
and
getQualifierNames
from
LDAPSchemaElement
.
To add or remove this attribute type definition from the
schema, use the
add
and
remove
methods, which this class inherits from the
LDAPSchemaElement
abstract class.
RFC 2252 defines AttributeTypeDescription as follows:
AttributeTypeDescription = "(" whsp
numericoid whsp ; AttributeType identifier
[ "NAME" qdescrs ] ; name used in AttributeType
[ "DESC" qdstring ] ; description
[ "OBSOLETE" whsp ]
[ "SUP" woid ] ; derived from this other
; AttributeType
[ "EQUALITY" woid ; Matching Rule name
[ "ORDERING" woid ; Matching Rule name
[ "SUBSTR" woid ] ; Matching Rule name
[ "SYNTAX" whsp noidlen whsp ] ; see section 4.3
[ "SINGLE-VALUE" whsp ] ; default multi-valued
[ "COLLECTIVE" whsp ] ; default not collective
[ "NO-USER-MODIFICATION" whsp ]; default user modifiable
[ "USAGE" whsp AttributeUsage ]; default userApplications
whsp ")"
AttributeUsage =
"userApplications" /
"directoryOperation" /
"distributedOperation" / ; DSA-shared
"dSAOperation" ; DSA-specific, value depends on server
COLLECTIVE
public static final String COLLECTIVE
EQUALITY
public static final String EQUALITY
NO_USER_MODIFICATION
public static final String NO_USER_MODIFICATION
ORDERING
public static final String ORDERING
SINGLE
public static final String SINGLE
SUBSTR
public static final String SUBSTR
USAGE
public static final String USAGE
syntaxElement
protected netscape.ldap.LDAPSyntaxSchemaElement syntaxElement
LDAPAttributeSchema
protected LDAPAttributeSchema()
Constructs a blank element.
LDAPAttributeSchema
public LDAPAttributeSchema(String raw)
Constructs an attribute type definition based on a description in
the AttributeTypeDescription format. For information on this format,
(see
RFC 2252, Lightweight Directory Access Protocol (v3):
Attribute Syntax Definitions. This is the format that LDAP servers
and clients use to exchange schema information. (For example, when
you search an LDAP server for its schema, the server returns an entry
with the attributes "objectclasses" and "attributetypes". The
values of "attributetypes" are attribute type descriptions
in this format.)
raw
- definition of the attribute type in the
AttributeTypeDescription format
LDAPAttributeSchema
public LDAPAttributeSchema(String name,
String oid,
String description,
String syntaxString,
boolean single)
Constructs an attribute type definition, using the specified
information.
name
- name of the attribute typeoid
- object identifier (OID) of the attribute type
in dotted-string format (for example, "1.2.3.4")description
- description of attribute typesyntaxString
- syntax of this attribute type in dotted-string
format (for example, "1.2.3.4.5")single
- true
if the attribute type is single-valued
LDAPAttributeSchema
public LDAPAttributeSchema(String name,
String oid,
String description,
String syntaxString,
boolean single,
String superior,
String[] aliases)
Constructs an attribute type definition, using the specified
information.
name
- name of the attribute typeoid
- object identifier (OID) of the attribute type
in dotted-string format (for example, "1.2.3.4")description
- description of attribute typesyntaxString
- syntax of this attribute type in dotted-string
format (for example, "1.2.3.4.5")single
- true
if the attribute type is single-valuedsuperior
- superior attribute as a name or OID; null
if there is no superioraliases
- names which are to be considered aliases for this
attribute; null
if there are no aliases
LDAPAttributeSchema
public LDAPAttributeSchema(String name,
String oid,
String description,
int syntax,
boolean single)
Constructs an attribute type definition, using the specified
information.
name
- name of the attribute typeoid
- object identifier (OID) of the attribute type
in dotted-string format (for example, "1.2.3.4")description
- description of attribute typesyntax
- syntax of this attribute type. The value of this
argument can be one of the following:
cis
(case-insensitive string)
ces
(case-exact string)
binary
(binary data)
int
(integer)
telephone
(telephone number -- identical to cis,
but blanks and dashes are ignored during comparisons)
dn
(distinguished name)
single
- true
if the attribute type is single-valued