public class AttributeType extends AbstractSchemaObject implements Cloneable
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.
Modifier and Type | Field and Description |
---|---|
static long |
serialVersionUID
The mandatory serialVersionUID
|
Constructor and Description |
---|
AttributeType(String oid)
Creates a AttributeType object using a unique OID.
|
Modifier and Type | Method and Description |
---|---|
AttributeType |
copy()
Copy the current SchemaObject on place
|
boolean |
equals(Object o) |
MatchingRule |
getEquality()
Gets the MatchingRule for this AttributeType used for equality matching.
|
String |
getEqualityName()
Gets the Equality Name for this AttributeType's values.
|
String |
getEqualityOid()
Gets the Equality OID for this AttributeType's values.
|
MatchingRule |
getOrdering()
Gets the MatchingRule for this AttributeType used for Ordering matching.
|
String |
getOrderingName()
Gets the MatchingRule name for this AttributeType used for Ordering matching.
|
String |
getOrderingOid()
Gets the Ordering OID for this AttributeType's values.
|
MatchingRule |
getSubstring()
Gets the MatchingRule for this AttributeType used for Substr matching.
|
String |
getSubstringName()
Gets the MatchingRule name for this AttributeType used for Substring matching.
|
String |
getSubstringOid()
Gets the Substr OID for this AttributeType's values.
|
AttributeType |
getSuperior()
Gets the the superior AttributeType of this AttributeType.
|
String |
getSuperiorName()
Gets the Name of the superior AttributeType for this AttributeType.
|
String |
getSuperiorOid()
Gets the OID of the superior AttributeType for this AttributeType.
|
LdapSyntax |
getSyntax()
Gets the Syntax for this AttributeType's values.
|
long |
getSyntaxLength()
Gets a length limit for this AttributeType.
|
String |
getSyntaxName()
Gets the Syntax name for this AttributeType's values.
|
String |
getSyntaxOid()
Gets the Syntax OID 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 |
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 |
isOperational()
Tells if the attributeType is an OPERATIONAL attribute or not
|
boolean |
isRelaxed() |
boolean |
isSingleValued()
Gets whether or not this AttributeType is single-valued.
|
boolean |
isUser()
Tells if the attributeType is a USER attribute or not
|
boolean |
isUserModifiable()
Gets whether or not this AttributeType can be modified by a user.
|
void |
setRelaxed(boolean isRelaxed)
Set this AttributeType mode to relaxed
|
String |
toString() |
addExtension, addExtension, addName, clear, copy, getDescription, getExtension, getExtensions, getName, getNames, getObjectType, getOid, getSchemaName, getSpecification, hasExtension, hashCode, isDisabled, isEnabled, isObsolete, isReadOnly, lock, setDescription, setEnabled, setExtensions, setNames, setNames, setObsolete, setOid, setReadOnly, setSchemaName, setSpecification, unlock
public static final long serialVersionUID
public AttributeType(String oid)
oid
- the OID for this AttributeTypepublic boolean isSingleValued()
public boolean isUserModifiable()
public boolean isCollective()
public boolean isRelaxed()
public void setRelaxed(boolean isRelaxed)
isRelaxed
- true if the syntax checker for this AttributeType should not be activatedpublic UsageEnum getUsage()
public long getSyntaxLength()
public AttributeType getSuperior()
public String getSuperiorOid()
public String getSuperiorName()
public LdapSyntax getSyntax()
public String getSyntaxName()
public String getSyntaxOid()
public MatchingRule getEquality()
public String getEqualityOid()
public String getEqualityName()
public MatchingRule getOrdering()
public String getOrderingName()
public String getOrderingOid()
public MatchingRule getSubstring()
public String getSubstringName()
public String getSubstringOid()
public boolean isUser()
public boolean isOperational()
public boolean isAncestorOf(AttributeType descendant)
descendant
- the perspective descendant to checkpublic boolean isDescendantOf(AttributeType ancestor)
ancestor
- the perspective ancestor to checkpublic AttributeType copy()
copy
in interface SchemaObject
public boolean equals(Object o)
equals
in interface SchemaObject
equals
in class AbstractSchemaObject
Copyright © 2003–2018 The Apache Software Foundation. All rights reserved.