|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
BootstrapProducer | A schema object producer which uses a callback to announce object creation rather than completely returning objects in bulk. |
BootstrapSchema | A configuration of related Schema objects bundled together and identified as a group. |
ProducerCallback | A BootstrapProducer's callback used to announce object creation. |
Class Summary | |
---|---|
AbstractBootstrapProducer | An abstract producer implementation. |
AbstractBootstrapProducer.BootstrapAttributeType | A concrete mutable attributeType implementation for bootstrapping which uses registries for dynamically resolving dependent objects. |
AbstractBootstrapProducer.BootstrapMatchingRule | |
AbstractBootstrapProducer.BootstrapObjectClass | A concrete mutable objectClass implementation for bootstrapping which uses registries for dynamically resolving dependent objects. |
AbstractBootstrapProducer.BootstrapSyntax | A mutable Syntax for the bootstrap phase that uses the syntaxCheckerRegistry to dynamically resolve syntax checkers. |
AbstractBootstrapSchema | Abstract bootstrap schema implementation. |
ApacheComparatorProducer | A producer of Comparator objects for the eve schema. |
ApacheMatchingRuleProducer | A producer of MatchingRule objects for the eve schema. |
ApacheNormalizerProducer | A producer of Normalizer objects for the eve schema. |
BootstrapAttributeTypeRegistry | A plain old java object implementation of an AttributeTypeRegistry. |
BootstrapComparatorRegistry | A simple POJO implementation of the ComparatorRegistry service interface. |
BootstrapDitContentRuleRegistry | A plain old java object implementation of an DITContentRuleRegistry. |
BootstrapDitStructureRuleRegistry | A plain old java object implementation of an DITStructureRuleRegistry. |
BootstrapMatchingRuleRegistry | A MatchingRuleRegistry service used to lookup matching rules by OID. |
BootstrapMatchingRuleUseRegistry | A plain old java object implementation of an MatchingRuleUseRegistry. |
BootstrapNameFormRegistry | A plain old java object implementation of an NameFormRegistry. |
BootstrapNormalizerRegistry | The POJO implementation for the NormalizerRegistry service. |
BootstrapObjectClassRegistry | A plain old java object implementation of an ObjectClassRegistry. |
BootstrapObjectFactoryRegistry | A boostrap service implementation for an ObjectFactoryRegistry. |
BootstrapOidRegistry | Default OID registry implementation used to resolve a schema object OID to a name and vice-versa. |
BootstrapRegistries | A set of boostrap registries used to fire up the server. |
BootstrapSchemaLoader | Class which handles bootstrap schema class file loading. |
BootstrapStateFactoryRegistry | A bootstrap service implementation for a state factory registry. |
BootstrapSyntaxCheckerRegistry | The POJO implementation for the SyntaxCheckerRegistry service. |
BootstrapSyntaxRegistry | A SyntaxRegistry service available during server startup when other resources like a syntax backing store is unavailable. |
InetorgpersonComparatorProducer | A producer of Comparator objects for the inetorgperson schema. |
InetorgpersonMatchingRuleProducer | A producer of MatchingRule objects for the inetorgperson schema. |
InetorgpersonNormalizerProducer | A producer of Normalizer objects for the inetorgperson schema. |
NisComparatorProducer | A producer of Comparator objects for the nis schema. |
NisMatchingRuleProducer | A producer of MatchingRule objects for the nis schema. |
NisNormalizerProducer | A producer of Normalizer objects for the nis schema. |
NisSyntaxCheckerProducer | A producer of SyntaxChecker objects for the nis schema. |
NisSyntaxProducer | A producer of Syntax objects for the nis schema. |
ProducerTypeEnum | Type safe enum for an BootstrapProducer tyoes. |
SystemComparatorProducer | Document this class. |
SystemMatchingRuleProducer | A simple maching rule configuration where objects and java code are used to create matching rules. |
SystemNormalizerProducer | A bootstrap producer which creates and announces newly created Normalizers for various matchingRules in the core schema. |
SystemSyntaxCheckerProducer | A producer of SyntaxCheckers for the core schema. |
SystemSyntaxProducer | A simple Syntax factory for the core LDAP schema in Section 4.3.2 of RFC2252. |
Contains interfaces and classes used for bootstrap schema object loading and configuration.
Breifly, before delving into the reasons behind our choices, we would like to summarize what is here. First off each schema entity of significance whether defined by the protocol or not is introduced into the system using a bootstrap configuration set class. This is a class that implements a specific interface for creating all the needed schema objects to establish a baseline within the system. All such schema objects generated will be owned by the directory administrator. Furthermore these objects are temporary and can be overridden in the solid state using altered versions that are authoritative definitions within the system backend.
Just what does all this mean? Hard coded schema objects in Java classes which implement a configuration set interface can be loaded into the system and used while bootstrapping it. If this is the first time bootstrapping, meaning these objects are NOT found within the system backend, they will be persisted into the system backend at the very end of the bootstrap stage so they can be resolved in the solid state. Changes to these objects via LDAP within the system backend by the admin persist across bootstrap sessions. They persist because the bootstrap object is never stored in the system backend if a record for that object already exists.
Why are we storing a configuration directly in Java code? First off the likelihood of altering schema object fields to bootstrap the system is highly unlikely. Secondly most of these objects are published static entities and changing them would have serious repercussions. Hence its highly unlikely that these objects will change and there is no need to get complex to try to have an external representation for these schema objects. The representation of these objects as entries and attributes within the directory is enough of an external representation. Schema manipulation tools already exist for making changes so why have another additional mechanism/representation as well.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |