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

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

See:
          Description

Interface Summary
AttributeType An attributeType specification.
DITContentRule A ditContentRule specification.
DITStructureRule A dITStructureRule definition.
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.
SchemaObject Most schema objects have some common attributes.
Syntax A syntax definition.
SyntaxChecker Used to validate values of a particular syntax.
 

Class Summary
AbstractAttributeType Attribute specification bean used to store the schema information for an attributeType definition.
AbstractMatchingRule The default MatchingRule implementation.
AbstractSchemaObject The abstract base class for all schema object types.
AbstractSyntax An abstract Syntax class.
AcceptAllSyntaxChecker A SyntaxChecker implementation which accepts all values as valid.
BinarySyntaxChecker A binary value (universal value acceptor) syntax checker.
CachingNormalizer Caches previously normalized values.
ComparableComparator Compares two objects taking into account that one might be a Comparable.
DeepTrimNormalizer Normalizer which trims down whitespace replacing multiple whitespace characters on the edges and within the string with a single space character thereby preserving tokenization order.
DeepTrimToLowerNormalizer Normalizer which trims down whitespace replacing multiple whitespace characters on the edges and within the string with a single space character thereby preserving tokenization order - while doing all this in the same pass it lower cases all characters.
DefaultObjectClass Objectclass specification bean used to store the schema information for an objectclass definition.
DescriptionUtils Utility class used to generate schema object specifications.
DnComparator A DnComparator that uses a parser to parse Dn strings.
DnNormalizer A distinguished name normalizer that works with a schema or without.
DnSyntaxChecker A distinguished name syntax checker.
LdapDnNormalizer A distinguished name normalizer that works with a schema or without.
MatchingRuleEnum Type safe enum for a matching rule's comparator and normalizer component usage string.
NoOpNormalizer No op (pass through or do nothing) normalizer returning what its given.
NormalizingComparator A comparator which normalizes a value first before using a subordinate comparator to compare them.
ObjectClassTypeEnum Type safe enumerations for an objectClass' type.
ObjectIdentifierComparator A comparator for the objectIdentifierMatch matchingRule.
ObjectIdentifierNormalizer A normalizer for the objectIdentifierMatch matching rule.
OidNormalizer The OidNomalizer class contains a couple : and OID with its Normalizer
RegexNormalizer A Normalizer that uses Perl5 based regular expressions to normalize values.
RegexSyntaxChecker A SyntaxChecker implemented using Perl5 regular expressions to constrain values.
SchemaUtils Various utility methods for schema functions and objects.
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-2006 . All Rights Reserved.