public class MutableAttributeType extends AttributeType
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(MutableAttributeType)
,
Serialized FormModifier and Type | Field and Description |
---|---|
static long |
serialVersionUID
The mandatory serialVersionUID
|
canUserModify, equality, equalityOid, isCollective, isSingleValued, ordering, orderingOid, substring, substringOid, superior, superiorOid, syntax, syntaxLength, syntaxOid, usage
description, extensions, isEnabled, isObsolete, isReadOnly, locked, names, objectType, oid, schemaName, specification
Constructor and Description |
---|
MutableAttributeType(String oid)
Creates a AttributeType object using a unique OID.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clear the current SchemaObject : remove all the references to other objects,
and all the Maps.
|
void |
setCollective(boolean collective)
Sets the collective flag
|
void |
setEquality(MatchingRule equality)
Sets the Equality MR for this AttributeType
|
void |
setEqualityOid(String equalityOid)
Sets the Equality OID for this AttributeType
|
void |
setOrdering(MatchingRule ordering)
Sets the Ordering MR for this AttributeType
|
void |
setOrderingOid(String orderingOid)
Sets the Ordering OID for this AttributeType
|
void |
setSingleValued(boolean singleValued)
Tells if this AttributeType is Single Valued or not
|
void |
setSubstring(MatchingRule substring)
Sets the Substr MR for this AttributeType
|
void |
setSubstringOid(String substrOid)
Sets the Substr OID for this AttributeType
|
void |
setSuperior(MutableAttributeType superior)
Sets the superior for this AttributeType
|
void |
setSuperior(String newSuperiorOid)
Sets the superior oid for this AttributeType
|
void |
setSuperiorOid(String superiorOid)
Sets the superior AttributeType OID of this AttributeType
|
void |
setSyntax(LdapSyntax syntax)
Sets the Syntax for this AttributeType
|
void |
setSyntaxLength(long length)
Sets the length limit of this AttributeType based on its associated
syntax.
|
void |
setSyntaxOid(String syntaxOid)
Sets the Syntax OID for this AttributeType
|
void |
setUsage(UsageEnum usage)
Sets the AttributeType usage, one of :
USER_APPLICATIONS
DIRECTORY_OPERATION
DISTRIBUTED_OPERATION
DSA_OPERATION
|
void |
setUserModifiable(boolean userModifiable)
Tells if this AttributeType can be modified by a user or not
|
void |
updateCollective(boolean collective)
Updates the collective flag
|
void |
updateEquality(MatchingRule newEquality)
Update the associated Equality MatchingRule, even if the SchemaObject is readOnly
|
void |
updateOrdering(MatchingRule newOrdering)
Update the associated Ordering MatchingRule, even if the SchemaObject is readOnly
|
void |
updateSubstring(MatchingRule newSubstring)
Update the associated Substring MatchingRule, even if the SchemaObject is readOnly
|
void |
updateSuperior(MutableAttributeType newSuperior)
Update the associated Superior AttributeType, even if the SchemaObject is readOnly
|
void |
updateSyntax(LdapSyntax newSyntax)
Update the associated Syntax, even if the SchemaObject is readOnly
|
void |
updateUsage(UsageEnum newUsage)
Updates the AttributeType usage, one of :
USER_APPLICATIONS
DIRECTORY_OPERATION
DISTRIBUTED_OPERATION
DSA_OPERATION
|
copy, equals, getEquality, getEqualityName, getEqualityOid, getOrdering, getOrderingName, getOrderingOid, getSubstring, getSubstringName, getSubstringOid, getSuperior, getSuperiorName, getSuperiorOid, getSyntax, getSyntaxLength, getSyntaxName, getSyntaxOid, getUsage, isAncestorOf, isCollective, isDescendantOf, isOperational, isSingleValued, isUser, isUserModifiable, toString
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
public static final long serialVersionUID
public MutableAttributeType(String oid)
oid
- the OID for this AttributeTypepublic void setSingleValued(boolean singleValued)
singleValued
- True if the AttributeType is single-valuedpublic void setUserModifiable(boolean userModifiable)
userModifiable
- The flag to setpublic void updateCollective(boolean collective)
collective
- The new value to setpublic void setCollective(boolean collective)
collective
- The new value to setpublic void setUsage(UsageEnum usage)
usage
- The AttributeType usageUsageEnum
public void updateUsage(UsageEnum newUsage)
newUsage
- The AttributeType usageUsageEnum
public void setSyntaxLength(long length)
length
- the new length to setpublic void setSuperiorOid(String superiorOid)
superiorOid
- The superior AttributeType OID of this AttributeTypepublic void setSuperior(MutableAttributeType superior)
superior
- The superior for this AttributeTypepublic void setSuperior(String newSuperiorOid)
newSuperiorOid
- The superior oid for this AttributeTypepublic void updateSuperior(MutableAttributeType newSuperior)
newSuperior
- The superior for this AttributeTypepublic void setSyntaxOid(String syntaxOid)
syntaxOid
- The syntax OID for this AttributeTypepublic void setSyntax(LdapSyntax syntax)
syntax
- The Syntax for this AttributeTypepublic void updateSyntax(LdapSyntax newSyntax)
newSyntax
- The Syntax for this AttributeTypepublic void setEqualityOid(String equalityOid)
equalityOid
- The Equality OID for this AttributeTypepublic void setEquality(MatchingRule equality)
equality
- The Equality MR for this AttributeTypepublic void updateEquality(MatchingRule newEquality)
newEquality
- The Equality MR for this AttributeTypepublic void setOrderingOid(String orderingOid)
orderingOid
- The Ordering OID for this AttributeTypepublic void setOrdering(MatchingRule ordering)
ordering
- The Ordering MR for this AttributeTypepublic void updateOrdering(MatchingRule newOrdering)
newOrdering
- The Ordering MR for this AttributeTypepublic void setSubstringOid(String substrOid)
substrOid
- The Substr OID for this AttributeTypepublic void setSubstring(MatchingRule substring)
substring
- The Substr MR for this AttributeTypepublic void updateSubstring(MatchingRule newSubstring)
newSubstring
- The Substr MR for this AttributeTypepublic void clear()
clear
in interface SchemaObject
clear
in class AbstractSchemaObject
Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.