|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface AttributeType
An attributeType specification. attributeType specifications describe the nature of attributes within the directory. The attributeType specification's properties are accessible through this interface.
According to ldapbis [MODELS]:
4.1.2. Attribute Types
Attribute Type definitions are written according to the ABNF:
AttributeTypeDescription = LPAREN WSP
numericoid ; object identifier
[ SP "NAME" SP qdescrs ] ; short names (descriptors)
[ SP "DESC" SP qdstring ] ; description
[ SP "OBSOLETE" ] ; not active
[ SP "SUP" SP oid ] ; supertype
[ SP "EQUALITY" SP oid ] ; equality matching rule
[ SP "ORDERING" SP oid ] ; ordering matching rule
[ SP "SUBSTR" SP oid ] ; substrings matching rule
[ SP "SYNTAX" SP noidlen ] ; value syntax
[ SP "SINGLE-VALUE" ] ; single-value
[ SP "COLLECTIVE" ] ; collective
[ SP "NO-USER-MODIFICATION" ]; not user modifiable
[ SP "USAGE" SP usage ] ; usage
extensions WSP RPAREN ; extensions
usage = "userApplications" / ; user
"directoryOperation" / ; directory operational
"distributedOperation" / ; DSA-shared operational
"dSAOperation" ; DSA-specific operational
where:
[numericoid] is object identifier assigned to this attribute type;
NAME [qdescrs] are short names (descriptors) identifying this
attribute type;
DESC [qdstring] is a short descriptive string;
OBSOLETE indicates this attribute type is not active;
SUP oid specifies the direct supertype of this type;
EQUALITY, ORDERING, SUBSTRING provide the oid of the equality,
ordering, and substrings matching rules, respectively;
SYNTAX identifies value syntax by object identifier and may suggest
a minimum upper bound;
COLLECTIVE indicates this attribute type is collective [X.501];
NO-USER-MODIFICATION indicates this attribute type is not user
modifiable;
USAGE indicates the application of this attribute type; and
[extensions] describe extensions.
Each attribute type description must contain at least one of the SUP
or SYNTAX fields.
Usage of userApplications, the default, indicates that attributes of
this type represent user information. That is, they are user
attributes.
COLLECTIVE requires usage userApplications. Use of collective
attribute types in LDAP is not discussed in this technical
specification.
A usage of directoryOperation, distributedOperation, or dSAOperation
indicates that attributes of this type represent operational and/or
administrative information. That is, they are operational attributes.
directoryOperation usage indicates that the attribute of this type is
a directory operational attribute. distributedOperation usage
indicates that the attribute of this DSA-shared usage operational
attribute. dSAOperation usage indicates that the attribute of this
type is a DSA-specific operational attribute.
NO-USER-MODIFICATION requires an operational usage.
Note that the [AttributeTypeDescription] does not list the matching
rules which can be used with that attribute type in an extensibleMatch
search filter. This is done using the 'matchingRuleUse' attribute
described in Section 4.1.4.
This document refines the schema description of X.501 by requiring
that the SYNTAX field in an [AttributeTypeDescription] be a string
representation of an object identifier for the LDAP string syntax
definition with an optional indication of the suggested minimum bound
of a value of this attribute.
A suggested minimum upper bound on the number of characters in a value
with a string-based syntax, or the number of bytes in a value for all
other syntaxes, may be indicated by appending this bound count inside
of curly braces following the syntax's OBJECT IDENTIFIER in an
Attribute Type Description. This bound is not part of the syntax name
itself. For instance, "1.3.6.4.1.1466.0{64}" suggests that server
implementations should allow a string to be 64 characters long,
although they may allow longer strings. Note that a single character
of the Directory String syntax may be encoded in more than one octet
since UTF-8 is a variable-length encoding.
DescriptionUtils.getDescription(AttributeType)| Method Summary | |
|---|---|
MatchingRule |
getEquality()
Gets the MatchingRule for this AttributeType used for equality matching. |
int |
getLength()
Gets a length limit for this AttributeType. |
MatchingRule |
getOrdering()
Gets the MatchingRule for this AttributeType used for ordering. |
MatchingRule |
getSubstr()
Gets the MatchingRule for this AttributeType used for substring matching. |
AttributeType |
getSuperior()
Gets the name of the superior class for this AttributeType. |
Syntax |
getSyntax()
The Syntax for this AttributeType's values. |
UsageEnum |
getUsage()
Determines the usage for this AttributeType. |
boolean |
isAncestorOf(AttributeType descendant)
Checks to see if this AttributeType is the ancestor of another attributeType. |
boolean |
isCanUserModify()
Gets whether or not this AttributeType can be modified by a user. |
boolean |
isCollective()
Gets whether or not this AttributeType is a collective attribute. |
boolean |
isDescendantOf(AttributeType ancestor)
Checks to see if this AttributeType is the descendant of another attributeType. |
boolean |
isSingleValue()
Gets whether or not this AttributeType is single-valued. |
| Methods inherited from interface org.apache.directory.shared.ldap.schema.SchemaObject |
|---|
getDescription, getName, getNamesRef, getOid, getSchema, isObsolete, setSchema |
| Method Detail |
|---|
boolean isSingleValue()
boolean isCanUserModify()
boolean isCollective()
UsageEnum getUsage()
AttributeType getSuperior()
throws javax.naming.NamingException,
javax.naming.NamingException
javax.naming.NamingException - if there is a failure to resolve the superior
Syntax getSyntax()
throws javax.naming.NamingException
javax.naming.NamingException - if there is a failure to resolve the syntaxint getLength()
MatchingRule getEquality()
throws javax.naming.NamingException
javax.naming.NamingException - if there is a failure to resolve the matchingRule
MatchingRule getOrdering()
throws javax.naming.NamingException
javax.naming.NamingException - if there is a failure to resolve the matchingRule
MatchingRule getSubstr()
throws javax.naming.NamingException
javax.naming.NamingException - if there is a failure to resolve the matchingRule
boolean isAncestorOf(AttributeType descendant)
throws javax.naming.NamingException
descendant - the perspective descendant to check
javax.naming.NamingException - if there are problems resolving superior types
boolean isDescendantOf(AttributeType ancestor)
throws javax.naming.NamingException
ancestor - the perspective ancestor to check
javax.naming.NamingException - if there are problems resolving superior types
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||