Package org.apache.directory.shared.ldap.schema

Contains interfaces and base classes for representing the LDAP schema domain model.

See:
          Description

Interface Summary
EntityFactory  
NormalizerMappingResolver A class is used to resolve the normalizer mapping hash used for normalization.
SchemaDao  
SchemaManager A class used to manage access to the Schemas and Registries.
SchemaObject Most schema objects have some common attributes.
 

Class Summary
AbstractSchemaObject Most schema objects have some common attributes.
AttributeType An attributeType specification.
AttributeTypeOptions An structure containing a couple of attributeType and options.
DescriptionUtils Utility class used to generate schema object specifications.
DITContentRule A ditContentRule specification.
DITStructureRule A dITStructureRule definition.
LdapComparator<T> An class used for Comparator.
LdapSyntax A syntax definition.
LoadableSchemaObject An abstract class used to manage the ADS specific SchemaObject, which can contain some compiled Java class to implement the specific logic.
MatchingRule A matchingRule definition.
MatchingRuleUse Represents an LDAP MatchingRuleUseDescription defined in RFC 2252.
NameForm A nameForm description.
Normalizer Converts attribute values to a canonical form.
ObjectClass An objectClass definition.
PrepareString This class implements the 6 steps described in RFC 4518
SchemaObjectWrapper A class containing a SchemaObject, used by the global registries.
SchemaUtils Various utility methods for schema functions and objects.
SyntaxChecker Used to validate values of a particular syntax.
 

Enum Summary
MatchingRuleEnum Type safe enum for a matching rule's comparator and normalizer component usage string.
ObjectClassTypeEnum Type safe enumerations for an objectClass' type.
PrepareString.StringType The type of String we have to normalize
SchemaObjectType The SchemaObject types
UsageEnum Type safe enum for an AttributeType definition's usage string.
 

Package org.apache.directory.shared.ldap.schema Description

Contains interfaces and base classes for representing the LDAP schema domain model. We model the following LDAP schema objects:

An interface is defined for each type of schema object. All these interfaces extend from a common root interface: SchemaObject. Other interfaces have been added to associate some useful behavoir with these objects. These interfaces are listed below:

These interfaces are primitive constructs that help define what some schema objects like a syntax or a matchingRule is in terms of use. Namely these constructs determine how schema objects are applied. For example a syntax exists not only as an OID to be implemented internally by some directory server. It exists to constrain the values of attributes which are associated with the syntax. This function is defined by the SyntaxChecker interface. All syntaxes have a value checker that can apply the syntax to the value to determine if the value is accepted by the syntax. A SyntaxChecker is nothing but a lexical pattern matcher like a regular expression.

Normalizers and Comparators play an important role in controlling matching and hence giving meaning to matchingRules. They respectively define how values are to be reduced to a canonical form and how they are to be compared to match filter assertions to values while conducting a search. This is a very important aspect of the directory and unfortunately it is the least understood. These two interfaces give tangible meaning to what a matchingRule is about making a matchingRule definition more than just an OID tag or place holder but something that can be used.

The extra interfaces above are not SchemaObjects although they play a critical role in defining how schema objects are applied. SchemaObjects are those that you actually get back from a directory server and are part of the protocol. Within a server environment the relevant schema objects will have valid SyntaxCheckers, Normalizers and Comparators. However outside of the this environment these properties MAY be undefined. We hope to make it defined on the client side as well if desired.

Here's what the OID of each element means according to [MODELS ]:

Schema DescriptionNumericoid Description
ObjectClass numericoid is object identifier assigned to this object class;
AttributeType numericoid is object identifier assigned to this attribute type;
MatchingRule numericoid is object identifier assigned to this matching rule;
MatchingRuleUse numericoid is the object identifier of the matching rule associated with this matching rule use description; matching rule uses are [0-1]:[1] cardinality with their respective matchingRule.
Syntax numericoid is object identifier assigned to this LDAP syntax;
DitContentRule numericoid is the object identifier of the structural object class associated with this DIT content rule;
DitStructureRule this now something very special and needs further investigation
NameForm numericoid is object identifier which identifies this name form;



Copyright © 2003-2011 Apache Software Foundation. All Rights Reserved.