Class NameForm
- java.lang.Object
-
- org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
-
- org.apache.directory.api.ldap.model.schema.NameForm
-
- All Implemented Interfaces:
Serializable
,SchemaObject
public class NameForm extends AbstractSchemaObject
A nameForm description. NameForms define the relationship between a STRUCTURAL objectClass definition and the attributeTypes allowed to be used for the naming of an Entry of that objectClass: it defines which attributes can be used for the Rdn.According to ldapbis [MODELS]:
4.1.7.2. Name Forms A name form "specifies a permissible Rdn for entries of a particular structural object class. A name form identifies a named object class and one or more attribute types to be used for naming (i.e. for the Rdn). Name forms are primitive pieces of specification used in the definition of DIT structure rules" [X.501]. Each name form indicates the structural object class to be named, a set of required attribute types, and a set of allowed attributes types. A particular attribute type cannot be listed in both sets. Entries governed by the form must be named using a value from each required attribute type and zero or more values from the allowed attribute types. Each name form is identified by an object identifier (OID) and, optionally, one or more short names (descriptors). Name form descriptions are written according to the ABNF: NameFormDescription = LPAREN WSP numericoid ; object identifier [ SP "NAME" SP qdescrs ] ; short names (descriptors) [ SP "DESC" SP qdstring ] ;String description [ SP "OBSOLETE" ] ; not active SP "OC" SP oid ; structural object class SP "MUST" SP oids ; attribute types [ SP "MAY" SP oids ] ; attribute types extensions WSP RPAREN ; extensions where: [numericoid] is object identifier which identifies this name form; NAME [qdescrs] are short names (descriptors) identifying this name form; DESC [qdstring] is a short descriptive string; OBSOLETE indicates this name form is not active; OC identifies the structural object class this rule applies to, MUST and MAY specify the sets of required and allowed, respectively, naming attributes for this name form; and [extensions] describe extensions. All attribute types in the required ("MUST") and allowed ("MAY") lists shall be different.
- Author:
- Apache Directory Project
- See Also:
- RFC2252 Section 6.22, ldapbis [MODELS], Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static long
serialVersionUID
The mandatory serialVersionUID
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMayAttributeTypeOids(String oid)
Add an allowed AttributeTypevoid
addMayAttributeTypes(AttributeType attributeType)
Add an allowed AttributeTypevoid
addMustAttributeTypeOids(String oid)
Add a required AttributeType OIDvoid
addMustAttributeTypes(AttributeType attributeType)
Add a required AttributeTypevoid
clear()
Clear the current SchemaObject : remove all the references to other objects, and all the Maps.NameForm
copy()
Copy a NameFormboolean
equals(Object o)
List<String>
getMayAttributeTypeOids()
Gets all the AttributeTypes OIDs of the attribute this NameForm specifies as being usable without requirement in the given objectClass for naming: as part of the Rdn.List<AttributeType>
getMayAttributeTypes()
Gets all the AttributeTypes of the attribute this NameForm specifies as being useable without requirement in the given objectClass for naming: as part of the Rdn.List<String>
getMustAttributeTypeOids()
Gets all the AttributeTypes OIDs of the attributes this NameForm specifies as having to be used in the given objectClass for naming: as part of the Rdn.List<AttributeType>
getMustAttributeTypes()
Gets all the AttributeTypes of the attributes this NameForm specifies as having to be used in the given objectClass for naming: as part of the Rdn.ObjectClass
getStructuralObjectClass()
Gets the STRUCTURAL ObjectClass this name form specifies naming attributes for.String
getStructuralObjectClassOid()
Gets the STRUCTURAL ObjectClass this name form specifies naming attributes for.int
hashCode()
void
setMayAttributeTypeOids(List<String> mayAttributeTypeOids)
Sets the list of allowed AttributeTypesvoid
setMayAttributeTypes(List<AttributeType> mayAttributeTypes)
Sets the list of allowed AttributeTypesvoid
setMustAttributeTypeOids(List<String> mustAttributeTypeOids)
Sets the list of required AttributeTypes OIDsvoid
setMustAttributeTypes(List<AttributeType> mustAttributeTypes)
Sets the list of required AttributeTypesvoid
setStructuralObjectClass(ObjectClass structuralObjectClass)
Sets the structural object class this rule applies tovoid
setStructuralObjectClassOid(String structuralObjectClassOid)
Sets the structural object class this rule applies toString
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, 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
-
-
Method Detail
-
getStructuralObjectClassOid
public String getStructuralObjectClassOid()
Gets the STRUCTURAL ObjectClass this name form specifies naming attributes for.- Returns:
- the ObjectClass's oid this NameForm is for
-
getStructuralObjectClass
public ObjectClass getStructuralObjectClass()
Gets the STRUCTURAL ObjectClass this name form specifies naming attributes for.- Returns:
- the ObjectClass this NameForm is for
-
setStructuralObjectClassOid
public void setStructuralObjectClassOid(String structuralObjectClassOid)
Sets the structural object class this rule applies to- Parameters:
structuralObjectClassOid
- the structural object class to set
-
setStructuralObjectClass
public void setStructuralObjectClass(ObjectClass structuralObjectClass)
Sets the structural object class this rule applies to- Parameters:
structuralObjectClass
- the structural object class to set
-
getMustAttributeTypeOids
public List<String> getMustAttributeTypeOids()
Gets all the AttributeTypes OIDs of the attributes this NameForm specifies as having to be used in the given objectClass for naming: as part of the Rdn.- Returns:
- the AttributeTypes OIDs of the must use attributes
-
getMustAttributeTypes
public List<AttributeType> getMustAttributeTypes()
Gets all the AttributeTypes of the attributes this NameForm specifies as having to be used in the given objectClass for naming: as part of the Rdn.- Returns:
- the AttributeTypes of the must use attributes
-
setMustAttributeTypeOids
public void setMustAttributeTypeOids(List<String> mustAttributeTypeOids)
Sets the list of required AttributeTypes OIDs- Parameters:
mustAttributeTypeOids
- the list of required AttributeTypes OIDs
-
setMustAttributeTypes
public void setMustAttributeTypes(List<AttributeType> mustAttributeTypes)
Sets the list of required AttributeTypes- Parameters:
mustAttributeTypes
- the list of required AttributeTypes
-
addMustAttributeTypeOids
public void addMustAttributeTypeOids(String oid)
Add a required AttributeType OID- Parameters:
oid
- The attributeType OID
-
addMustAttributeTypes
public void addMustAttributeTypes(AttributeType attributeType)
Add a required AttributeType- Parameters:
attributeType
- The attributeType
-
getMayAttributeTypeOids
public List<String> getMayAttributeTypeOids()
Gets all the AttributeTypes OIDs of the attribute this NameForm specifies as being usable without requirement in the given objectClass for naming: as part of the Rdn.- Returns:
- the AttributeTypes OIDs of the may use attributes
-
getMayAttributeTypes
public List<AttributeType> getMayAttributeTypes()
Gets all the AttributeTypes of the attribute this NameForm specifies as being useable without requirement in the given objectClass for naming: as part of the Rdn.- Returns:
- the AttributeTypes of the may use attributes
-
setMayAttributeTypeOids
public void setMayAttributeTypeOids(List<String> mayAttributeTypeOids)
Sets the list of allowed AttributeTypes- Parameters:
mayAttributeTypeOids
- the list of allowed AttributeTypes
-
setMayAttributeTypes
public void setMayAttributeTypes(List<AttributeType> mayAttributeTypes)
Sets the list of allowed AttributeTypes- Parameters:
mayAttributeTypes
- the list of allowed AttributeTypes
-
addMayAttributeTypeOids
public void addMayAttributeTypeOids(String oid)
Add an allowed AttributeType- Parameters:
oid
- The attributeType oid
-
addMayAttributeTypes
public void addMayAttributeTypes(AttributeType attributeType)
Add an allowed AttributeType- Parameters:
attributeType
- The attributeType
-
toString
public String toString()
- Overrides:
toString
in classObject
- See Also:
Object.toString()
-
hashCode
public int hashCode()
Description copied from class:AbstractSchemaObject
- Specified by:
hashCode
in interfaceSchemaObject
- Overrides:
hashCode
in classAbstractSchemaObject
- See Also:
Object.equals(Object)
-
equals
public boolean equals(Object o)
Description copied from class:AbstractSchemaObject
- Specified by:
equals
in interfaceSchemaObject
- Overrides:
equals
in classAbstractSchemaObject
- See Also:
Object.equals(Object)
-
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
-
-