public final class SchemaUtils extends Object
Modifier and Type | Method and Description |
---|---|
static Set<String> |
getOptions(String attributeId)
Get the options from the attributeType.
|
static Entry |
getTargetEntry(List<? extends Modification> mods,
Entry entry)
Gets the target entry as it would look after a modification operation
were performed on it.
|
static StringBuffer |
render(AttributeType at)
Renders an attributeType into a new StringBuffer according to the
Attribute Type Description Syntax 1.3.6.1.4.1.1466.115.121.1.3.
|
static StringBuffer |
render(AttributeType[] ats)
Renders a list of attributeTypes for things like the must or may list of
objectClasses using the ( oid $ oid ) format.
|
static StringBuffer |
render(DITContentRule dcr)
NOT FULLY IMPLEMENTED!
|
static StringBuffer |
render(DITStructureRule dsr)
NOT FULLY IMPLEMENTED!
|
static StringBuffer |
render(LdapSyntax syntax)
Renders a Syntax into a new StringBuffer according to the LDAP Syntax
Description Syntax 1.3.6.1.4.1.1466.115.121.1.54.
|
static String |
render(LoadableSchemaObject description)
Returns a String description of a schema.
|
static StringBuffer |
render(Map<String,List<String>> extensions)
Renders the schema extensions into a new StringBuffer.
|
static StringBuffer |
render(MatchingRule mr)
Renders an matchingRule into a new StringBuffer according to the
MatchingRule Description Syntax 1.3.6.1.4.1.1466.115.121.1.30.
|
static StringBuffer |
render(MatchingRuleUse mru)
NOT FULLY IMPLEMENTED!
|
static StringBuffer |
render(NameForm nf)
NOT FULLY IMPLEMENTED!
|
static StringBuffer |
render(ObjectClass oc)
Renders an objectClass into a new StringBuffer according to the Object
Class Description Syntax 1.3.6.1.4.1.1466.115.121.1.37.
|
static StringBuffer |
render(ObjectClass[] ocs)
Renders a list of object classes for things like a list of superior
objectClasses using the ( oid $ oid ) format.
|
static StringBuffer |
render(StringBuffer buf,
AttributeType[] ats)
Renders a list of attributeTypes for things like the must or may list of
objectClasses using the ( oid $ oid ) format into an existing buffer.
|
static StringBuffer |
render(StringBuffer buf,
List<String> qdescrs)
Renders qdescrs into an existing buffer.
|
static StringBuffer |
render(StringBuffer buf,
ObjectClass[] ocs)
Renders a list of object classes for things like a list of superior
objectClasses using the ( oid $ oid ) format into an existing buffer.
|
static String |
stripOptions(String attributeId)
Remove the options from the attributeType, and returns the ID.
|
static byte[] |
uuidToBytes(UUID uuid)
Transform an UUID in a byte array
|
public static Entry getTargetEntry(List<? extends Modification> mods, Entry entry) throws LdapException
mods
- the modifications performed on the entryentry
- the source entry that is modifiedLdapException
- if there are problems accessing attributespublic static StringBuffer render(StringBuffer buf, List<String> qdescrs)
buf
- the string buffer to render the quoted description strs intoqdescrs
- the quoted description strings to renderpublic static StringBuffer render(ObjectClass[] ocs)
ocs
- the objectClasses to listpublic static StringBuffer render(StringBuffer buf, ObjectClass[] ocs)
buf
- the string buffer to render the list of objectClasses intoocs
- the objectClasses to listpublic static StringBuffer render(AttributeType[] ats)
ats
- the attributeTypes to listpublic static StringBuffer render(StringBuffer buf, AttributeType[] ats)
buf
- the string buffer to render the list of attributeTypes intoats
- the attributeTypes to listpublic static StringBuffer render(ObjectClass oc) throws LdapException
4.1.1. Object Class Definitions Object Class definitions are written according to the ABNF: ObjectClassDescription = LPAREN WSP numericoid ; object identifier [ SP "NAME" SP qdescrs ] ; short names (descriptors) [ SP "DESC" SP qdstring ] ; description [ SP "OBSOLETE" ] ; not active [ SP "SUP" SP oids ] ; superior object classes [ SP kind ] ; kind of class [ SP "MUST" SP oids ] ; attribute types [ SP "MAY" SP oids ] ; attribute types extensions WSP RPAREN kind = "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" where: <numericoid> is object identifier assigned to this object class; NAME <qdescrs> are short names (descriptors) identifying this object class; DESC <qdstring> is a short descriptive string; OBSOLETE indicates this object class is not active; SUP <oids> specifies the direct superclasses of this object class; the kind of object class is indicated by one of ABSTRACT, STRUCTURAL, or AUXILIARY, default is STRUCTURAL; MUST and MAY specify the sets of required and allowed attribute types, respectively; and <extensions> describe extensions.
oc
- the objectClass to render the description ofLdapException
- if there are any problems accessing objectClass
informationpublic static StringBuffer render(AttributeType at) throws LdapException
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, SUBSTR 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; SINGLE-VALUE indicates attributes of this type are restricted to a single value; COLLECTIVE indicates this attribute type is collective [X.501][RFC3671]; NO-USER-MODIFICATION indicates this attribute type is not user modifiable; USAGE indicates the application of this attribute type; and <extensions> describe extensions.
at
- the AttributeType to render the description forLdapException
- if there are problems accessing the objects
associated with the attribute type.public static StringBuffer render(Map<String,List<String>> extensions)
extensions
- the schema extensions map with key and valuespublic static StringBuffer render(MatchingRule mr) throws LdapException
4.1.3. Matching Rules Matching rules are used in performance of attribute value assertions, such as in performance of a Compare operation. They are also used in evaluation of a Search filters, in determining which individual values are be added or deleted during performance of a Modify operation, and used in comparison of distinguished names. Each matching rule is identified by an object identifier (OID) and, optionally, one or more short names (descriptors). Matching rule definitions are written according to the ABNF: MatchingRuleDescription = LPAREN WSP numericoid ; object identifier [ SP "NAME" SP qdescrs ] ; short names (descriptors) [ SP "DESC" SP qdstring ] ; description [ SP "OBSOLETE" ] ; not active SP "SYNTAX" SP numericoid ; assertion syntax extensions WSP RPAREN ; extensions where: <numericoid> is object identifier assigned to this matching rule; NAME <qdescrs> are short names (descriptors) identifying this matching rule; DESC <qdstring> is a short descriptive string; OBSOLETE indicates this matching rule is not active; SYNTAX identifies the assertion syntax (the syntax of the assertion value) by object identifier; and <extensions> describe extensions.
mr
- the MatchingRule to render the description forLdapException
- if there are problems accessing the objects
associated with the MatchingRule.public static StringBuffer render(LdapSyntax syntax)
LDAP syntax definitions are written according to the ABNF: SyntaxDescription = LPAREN WSP numericoid ; object identifier [ SP "DESC" SP qdstring ] ; description extensions WSP RPAREN ; extensions where: <numericoid> is the object identifier assigned to this LDAP syntax; DESC <qdstring> is a short descriptive string; and <extensions> describe extensions.
syntax
- the Syntax to render the description forpublic static StringBuffer render(MatchingRuleUse mru)
public static StringBuffer render(DITContentRule dcr)
public static StringBuffer render(DITStructureRule dsr)
public static StringBuffer render(NameForm nf)
public static String render(LoadableSchemaObject description)
description
- The description to transform to a Stringpublic static String stripOptions(String attributeId)
public static Set<String> getOptions(String attributeId)
public static byte[] uuidToBytes(UUID uuid)
uuid
- The UUID to transformCopyright © 2003-2014 The Apache Software Foundation. All Rights Reserved.