Class SchemaObjectRenderer
- java.lang.Object
-
- org.apache.directory.api.ldap.model.schema.SchemaObjectRenderer
-
public final class SchemaObjectRenderer extends Object
Renderer for schema objects. Currently the following preconfigured renderers exist:-
SUBSCHEMA_SUBENTRY_RENDERER
: renders the schema object without line break and with X-SCHEMA extension. To be used for building subschema subentry. -
OPEN_LDAP_SCHEMA_RENDERER
: renders the schema object in OpenLDAP schema format. That means is starts with schema type and contains line breaks for easier readability.
TODO: currently only
ObjectClass
andAttributeType
are supported, implement other schema object types.- Author:
- Apache Directory Project
-
-
-
Field Summary
Fields Modifier and Type Field Description static SchemaObjectRenderer
OPEN_LDAP_SCHEMA_RENDERER
PreconfiguredSchemaObjectRenderer
that renders the schema object in OpenLDAP schema format.static SchemaObjectRenderer
SUBSCHEMA_SUBENTRY_RENDERER
PreconfiguredSchemaObjectRenderer
that renders the schema object without line break and with X-SCHEMA extension.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
render(AttributeType at)
Renders an attributeType according to the Attribute Type Description Syntax 1.3.6.1.4.1.1466.115.121.1.3.String
render(DitContentRule dcr)
NOT FULLY IMPLEMENTED!String
render(DitStructureRule dsr)
NOT FULLY IMPLEMENTED!String
render(LdapSyntax syntax)
Renders a Syntax according to the LDAP Syntax Description Syntax 1.3.6.1.4.1.1466.115.121.1.54.String
render(MatchingRule mr)
Renders an matchingRule according to the MatchingRule Description Syntax 1.3.6.1.4.1.1466.115.121.1.30.String
render(MatchingRuleUse mru)
NOT FULLY IMPLEMENTED!String
render(NameForm nf)
NOT FULLY IMPLEMENTED!String
render(ObjectClass oc)
Renders an objectClass according to the Object Class Description Syntax 1.3.6.1.4.1.1466.115.121.1.37.
-
-
-
Field Detail
-
SUBSCHEMA_SUBENTRY_RENDERER
public static final SchemaObjectRenderer SUBSCHEMA_SUBENTRY_RENDERER
PreconfiguredSchemaObjectRenderer
that renders the schema object without line break and with X-SCHEMA extension. To be used for building subschema subentry.
-
OPEN_LDAP_SCHEMA_RENDERER
public static final SchemaObjectRenderer OPEN_LDAP_SCHEMA_RENDERER
PreconfiguredSchemaObjectRenderer
that renders the schema object in OpenLDAP schema format. That means is starts with schema type and contains line breaks for easier readability.
-
-
Method Detail
-
render
public String render(ObjectClass oc)
Renders an objectClass according to the Object Class Description Syntax 1.3.6.1.4.1.1466.115.121.1.37. The syntax is described in detail within section 4.1.1. of RFC 4512 which is replicated here for convenience: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.
- Parameters:
oc
- the ObjectClass to render the description of- Returns:
- the string form of the Object Class description
-
render
public String render(AttributeType at)
Renders an attributeType according to the Attribute Type Description Syntax 1.3.6.1.4.1.1466.115.121.1.3. The syntax is described in detail within section 4.1.2. of RFC 4512 which is replicated here for convenience: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.
- Parameters:
at
- the AttributeType to render the description for- Returns:
- the StringBuffer containing the rendered attributeType description
-
render
public String render(MatchingRule mr)
Renders an matchingRule according to the MatchingRule Description Syntax 1.3.6.1.4.1.1466.115.121.1.30. The syntax is described in detail within section 4.1.3. RFC 4512 which is replicated here for convenience: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.
- Parameters:
mr
- the MatchingRule to render the description for- Returns:
- the StringBuffer containing the rendered matchingRule description
-
render
public String render(LdapSyntax syntax)
Renders a Syntax according to the LDAP Syntax Description Syntax 1.3.6.1.4.1.1466.115.121.1.54. The syntax is described in detail within section 4.1.5. of RFC 4512 which is replicated here for convenience: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.
- Parameters:
syntax
- the Syntax to render the description for- Returns:
- the StringBuffer containing the rendered syntax description
-
render
public String render(MatchingRuleUse mru)
NOT FULLY IMPLEMENTED! Renders a MatchingRuleUse as a String- Parameters:
mru
- The MatchingRuleUse to render- Returns:
- The MatchingRuleUse as a String
-
render
public String render(DitContentRule dcr)
NOT FULLY IMPLEMENTED! Renders a DitContentRule as a String- Parameters:
dcr
- The DitContentRule to render- Returns:
- The DitContentRule as a String
-
render
public String render(DitStructureRule dsr)
NOT FULLY IMPLEMENTED!- Parameters:
dsr
- The DitStructureRule to render- Returns:
- The DitStructureRule as a String
-
-