Class MutableAttributeType
- java.lang.Object
-
- org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
-
- org.apache.directory.api.ldap.model.schema.AttributeType
-
- org.apache.directory.api.ldap.model.schema.MutableAttributeType
-
- All Implemented Interfaces:
Serializable
,Cloneable
,SchemaObject
public class MutableAttributeType extends 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.
- Author:
- Apache Directory Project
- See Also:
- RFC 2252 Section 4.2, ldapbis [MODELS], Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static long
serialVersionUID
The mandatory serialVersionUID
-
Constructor Summary
Constructors Constructor Description MutableAttributeType(String oid)
Creates a AttributeType object using a unique OID.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 flagvoid
setEquality(MatchingRule equality)
Sets the Equality MR for this AttributeTypevoid
setEqualityOid(String equalityOid)
Sets the Equality OID for this AttributeTypevoid
setOrdering(MatchingRule ordering)
Sets the Ordering MR for this AttributeTypevoid
setOrderingOid(String orderingOid)
Sets the Ordering OID for this AttributeTypevoid
setSingleValued(boolean singleValued)
Tells if this AttributeType is Single Valued or notvoid
setSubstring(MatchingRule substring)
Sets the Substr MR for this AttributeTypevoid
setSubstringOid(String substrOid)
Sets the Substr OID for this AttributeTypevoid
setSuperior(String newSuperiorOid)
Sets the superior oid for this AttributeTypevoid
setSuperior(AttributeType superior)
Sets the superior for this AttributeTypevoid
setSuperiorOid(String superiorOid)
Sets the superior AttributeType OID of this AttributeTypevoid
setSyntax(LdapSyntax syntax)
Sets the Syntax for this AttributeTypevoid
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 AttributeTypevoid
setUsage(UsageEnum usage)
Sets the AttributeType usage, one of : USER_APPLICATIONS DIRECTORY_OPERATION DISTRIBUTED_OPERATION DSA_OPERATIONvoid
setUserModifiable(boolean userModifiable)
Tells if this AttributeType can be modified by a user or notvoid
updateCollective(boolean collective)
Updates the collective flagvoid
updateEquality(MatchingRule newEquality)
Update the associated Equality MatchingRule, even if the SchemaObject is readOnlyvoid
updateOrdering(MatchingRule newOrdering)
Update the associated Ordering MatchingRule, even if the SchemaObject is readOnlyvoid
updateSubstring(MatchingRule newSubstring)
Update the associated Substring MatchingRule, even if the SchemaObject is readOnlyvoid
updateSuperior(MutableAttributeType newSuperior)
Update the associated Superior AttributeType, even if the SchemaObject is readOnlyvoid
updateSyntax(LdapSyntax newSyntax)
Update the associated Syntax, even if the SchemaObject is readOnlyvoid
updateUsage(UsageEnum newUsage)
Updates the AttributeType usage, one of : USER_APPLICATIONS DIRECTORY_OPERATION DISTRIBUTED_OPERATION DSA_OPERATION-
Methods inherited from class org.apache.directory.api.ldap.model.schema.AttributeType
copy, equals, getEquality, getEqualityName, getEqualityOid, getOrdering, getOrderingName, getOrderingOid, getSubstring, getSubstringName, getSubstringOid, getSuperior, getSuperiorName, getSuperiorOid, getSyntax, getSyntaxLength, getSyntaxName, getSyntaxOid, getUsage, isAncestorOf, isCollective, isDescendantOf, isHR, isOperational, isRelaxed, isSingleValued, isUser, isUserModifiable, setRelaxed, toString
-
Methods inherited from class org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
addExtension, addExtension, addName, copy, getDescription, getExtension, getExtensions, getName, getNames, getObjectType, getOid, getSchemaName, getSpecification, hasExtension, hashCode, isDisabled, isEnabled, isObsolete, lock, setDescription, setEnabled, setExtensions, setNames, setNames, setObsolete, setOid, setSchemaName, setSpecification, unlock
-
-
-
-
Field Detail
-
serialVersionUID
public static final long serialVersionUID
The mandatory serialVersionUID- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MutableAttributeType
public MutableAttributeType(String oid)
Creates a AttributeType object using a unique OID.- Parameters:
oid
- the OID for this AttributeType
-
-
Method Detail
-
setSingleValued
public void setSingleValued(boolean singleValued)
Tells if this AttributeType is Single Valued or not- Parameters:
singleValued
- True if the AttributeType is single-valued
-
setUserModifiable
public void setUserModifiable(boolean userModifiable)
Tells if this AttributeType can be modified by a user or not- Parameters:
userModifiable
- The flag to set
-
updateCollective
public void updateCollective(boolean collective)
Updates the collective flag- Parameters:
collective
- The new value to set
-
setCollective
public void setCollective(boolean collective)
Sets the collective flag- Parameters:
collective
- The new value to set
-
setUsage
public void setUsage(UsageEnum usage)
Sets the AttributeType usage, one of :- USER_APPLICATIONS
- DIRECTORY_OPERATION
- DISTRIBUTED_OPERATION
- DSA_OPERATION
- Parameters:
usage
- The AttributeType usage- See Also:
UsageEnum
-
updateUsage
public void updateUsage(UsageEnum newUsage)
Updates the AttributeType usage, one of :- USER_APPLICATIONS
- DIRECTORY_OPERATION
- DISTRIBUTED_OPERATION
- DSA_OPERATION
- Parameters:
newUsage
- The AttributeType usage- See Also:
UsageEnum
-
setSyntaxLength
public void setSyntaxLength(long length)
Sets the length limit of this AttributeType based on its associated syntax.- Parameters:
length
- the new length to set
-
setSuperiorOid
public void setSuperiorOid(String superiorOid)
Sets the superior AttributeType OID of this AttributeType- Parameters:
superiorOid
- The superior AttributeType OID of this AttributeType
-
setSuperior
public void setSuperior(AttributeType superior)
Sets the superior for this AttributeType- Parameters:
superior
- The superior for this AttributeType
-
setSuperior
public void setSuperior(String newSuperiorOid)
Sets the superior oid for this AttributeType- Parameters:
newSuperiorOid
- The superior oid for this AttributeType
-
updateSuperior
public void updateSuperior(MutableAttributeType newSuperior)
Update the associated Superior AttributeType, even if the SchemaObject is readOnly- Parameters:
newSuperior
- The superior for this AttributeType
-
setSyntaxOid
public void setSyntaxOid(String syntaxOid)
Sets the Syntax OID for this AttributeType- Parameters:
syntaxOid
- The syntax OID for this AttributeType
-
setSyntax
public void setSyntax(LdapSyntax syntax)
Sets the Syntax for this AttributeType- Parameters:
syntax
- The Syntax for this AttributeType
-
updateSyntax
public void updateSyntax(LdapSyntax newSyntax)
Update the associated Syntax, even if the SchemaObject is readOnly- Parameters:
newSyntax
- The Syntax for this AttributeType
-
setEqualityOid
public void setEqualityOid(String equalityOid)
Sets the Equality OID for this AttributeType- Parameters:
equalityOid
- The Equality OID for this AttributeType
-
setEquality
public void setEquality(MatchingRule equality)
Sets the Equality MR for this AttributeType- Parameters:
equality
- The Equality MR for this AttributeType
-
updateEquality
public void updateEquality(MatchingRule newEquality)
Update the associated Equality MatchingRule, even if the SchemaObject is readOnly- Parameters:
newEquality
- The Equality MR for this AttributeType
-
setOrderingOid
public void setOrderingOid(String orderingOid)
Sets the Ordering OID for this AttributeType- Parameters:
orderingOid
- The Ordering OID for this AttributeType
-
setOrdering
public void setOrdering(MatchingRule ordering)
Sets the Ordering MR for this AttributeType- Parameters:
ordering
- The Ordering MR for this AttributeType
-
updateOrdering
public void updateOrdering(MatchingRule newOrdering)
Update the associated Ordering MatchingRule, even if the SchemaObject is readOnly- Parameters:
newOrdering
- The Ordering MR for this AttributeType
-
setSubstringOid
public void setSubstringOid(String substrOid)
Sets the Substr OID for this AttributeType- Parameters:
substrOid
- The Substr OID for this AttributeType
-
setSubstring
public void setSubstring(MatchingRule substring)
Sets the Substr MR for this AttributeType- Parameters:
substring
- The Substr MR for this AttributeType
-
updateSubstring
public void updateSubstring(MatchingRule newSubstring)
Update the associated Substring MatchingRule, even if the SchemaObject is readOnly- Parameters:
newSubstring
- The Substr MR for this AttributeType
-
clear
public void clear()
Clear the current SchemaObject : remove all the references to other objects, and all the Maps.- Specified by:
clear
in interfaceSchemaObject
- Overrides:
clear
in classAbstractSchemaObject
-
-