public class Registries extends Object implements SchemaLoaderListener, Cloneable
Modifier and Type | Field and Description |
---|---|
protected AttributeTypeRegistry |
attributeTypeRegistry
The AttributeType registry
|
protected ComparatorRegistry |
comparatorRegistry
The LdapSyntax registry
|
protected DitContentRuleRegistry |
ditContentRuleRegistry
The DitContentRule registry
|
protected DitStructureRuleRegistry |
ditStructureRuleRegistry
The DitStructureRule registry
|
protected OidRegistry<SchemaObject> |
globalOidRegistry
The global OID registry
|
protected LdapSyntaxRegistry |
ldapSyntaxRegistry
The LdapSyntax registry
|
protected Map<String,Schema> |
loadedSchemas
A String name to Schema object map for the schemas loaded into this
registry.
|
protected MatchingRuleRegistry |
matchingRuleRegistry
The MatchingRule registry
|
protected MatchingRuleUseRegistry |
matchingRuleUseRegistry
The MatchingRuleUse registry
|
protected NameFormRegistry |
nameFormRegistry
The NameForm registry
|
protected NormalizerRegistry |
normalizerRegistry
The Normalizer registry
|
protected ObjectClassRegistry |
objectClassRegistry
The ObjectClass registry
|
static boolean |
RELAXED |
static boolean |
STRICT
Two flags for RELAXED and STRUCT
|
protected SyntaxCheckerRegistry |
syntaxCheckerRegistry
The SyntaxChecker registry
|
protected Map<SchemaObjectWrapper,Set<SchemaObjectWrapper>> |
usedBy
A map storing a relation between a SchemaObject and all the
referencing SchemaObjects.
|
protected Map<SchemaObjectWrapper,Set<SchemaObjectWrapper>> |
using
A map storing a relation between a SchemaObject and all the
SchemaObjects it uses.
|
Constructor and Description |
---|
Registries()
Creates a new instance of Registries.
|
Modifier and Type | Method and Description |
---|---|
List<Throwable> |
add(List<Throwable> errors,
SchemaObject schemaObject,
boolean check)
Applies the added SchemaObject to the given register
|
void |
addReference(SchemaObject base,
SchemaObject referenced)
Add an association between a SchemaObject an the SchemaObject it refers
|
Set<SchemaObjectWrapper> |
addSchema(String schemaName)
Create a new schema association with its content
|
void |
associateWithSchema(List<Throwable> errors,
SchemaObject schemaObject)
Store the given SchemaObject in the Map associating SchemaObjetcs to their
related Schema.
|
void |
buildReference(List<Throwable> errors,
SchemaObject schemaObject)
Build the SchemaObject references
|
List<Throwable> |
buildReferences()
Build the usedBy and using references from the stored elements.
|
boolean |
check()
Check the registries for invalid relations.
|
List<Throwable> |
checkRefInteg()
Attempts to resolve the dependent schema objects of all entities that
refer to other objects within the registries.
|
void |
clear()
Clear the registries from all its elements
|
Registries |
clone()
Clone the Registries.
|
boolean |
contains(SchemaObject schemaObject)
Tells if the given SchemaObject is present in one schema.
|
void |
delCrossReferences(AttributeType attributeType)
Add the SchemaObjectReferences.
|
void |
delCrossReferences(MatchingRule matchingRule)
Delete the MR references (using and usedBy) :
MR -> C
MR -> N
MR -> S
|
List<Throwable> |
delete(List<Throwable> errors,
SchemaObject schemaObject)
Remove the given SchemaObject from the registries
|
void |
delReference(SchemaObject base,
SchemaObject referenced)
Delete an association between a SchemaObject an the SchemaObject it refers
|
void |
dissociateFromSchema(List<Throwable> errors,
SchemaObject schemaObject)
Store the given SchemaObject in the Map associating SchemaObjetcs to their
related Schema.
|
void |
dissociateFromSchema(SchemaObject schemaObject)
Remove the given SchemaObject from the Map associating SchemaObjetcs to their
related Schema.
|
String |
dumpUsedBy()
Dump the UsedBy data structure as a String
|
String |
dumpUsing()
Dump the Using data structure as a String
|
AttributeTypeRegistry |
getAttributeTypeRegistry() |
ComparatorRegistry |
getComparatorRegistry() |
DitContentRuleRegistry |
getDitContentRuleRegistry() |
DitStructureRuleRegistry |
getDitStructureRuleRegistry() |
OidRegistry<SchemaObject> |
getGlobalOidRegistry() |
LdapSyntaxRegistry |
getLdapSyntaxRegistry() |
Schema |
getLoadedSchema(String schemaName)
Gets a schema that has been loaded into these Registries.
|
Map<String,Schema> |
getLoadedSchemas()
Gets an unmodifiable Map of schema names to loaded Schema objects.
|
MatchingRuleRegistry |
getMatchingRuleRegistry() |
MatchingRuleUseRegistry |
getMatchingRuleUseRegistry() |
NameFormRegistry |
getNameFormRegistry() |
NormalizerRegistry |
getNormalizerRegistry() |
Map<String,Set<SchemaObjectWrapper>> |
getObjectBySchemaName() |
ObjectClassRegistry |
getObjectClassRegistry() |
String |
getOid(String name)
Get an OID from a name.
|
Set<SchemaObjectWrapper> |
getReferencing(SchemaObject schemaObject)
Check that we can remove a given SchemaObject without breaking some of its references.
|
SyntaxCheckerRegistry |
getSyntaxCheckerRegistry() |
Set<SchemaObjectWrapper> |
getUsedBy(SchemaObject schemaObject)
Gets the Set of SchemaObjects referencing the given SchemaObject
|
Set<SchemaObjectWrapper> |
getUsing(SchemaObject schemaObject)
Gets the Set of SchemaObjects referenced by the given SchemaObject
|
boolean |
isDisabledAccepted()
Tells if the Registries accept disabled elements.
|
boolean |
isReferenced(SchemaObject schemaObject)
Checks if a specific SchemaObject is referenced by any other SchemaObject.
|
boolean |
isRelaxed()
Tells if the Registries is permissive or if it must be checked
against inconsistencies.
|
boolean |
isSchemaLoaded(String schemaName)
Checks to see if a particular Schema is loaded.
|
boolean |
isStrict()
Tells if the Registries is strict.
|
void |
removeReference(List<Throwable> errors,
SchemaObject schemaObject)
Unlink the SchemaObject references
|
void |
schemaLoaded(Schema schema)
Merely adds the schema to the set of loaded schemas.
|
void |
schemaUnloaded(Schema schema)
Merely removes the schema from the set of loaded schemas.
|
void |
setDisabledAccepted(boolean disabledAccepted)
Change the Registries behavior regarding disabled SchemaObject element.
|
void |
setRelaxed()
Change the Registries to a relaxed mode, where invalid SchemaObjects
can be registered.
|
void |
setStrict()
Change the Registries to a strict mode, where invalid SchemaObjects
cannot be registered.
|
String |
toString() |
protected Map<String,Schema> loadedSchemas
protected AttributeTypeRegistry attributeTypeRegistry
protected ObjectClassRegistry objectClassRegistry
protected ComparatorRegistry comparatorRegistry
protected DitContentRuleRegistry ditContentRuleRegistry
protected DitStructureRuleRegistry ditStructureRuleRegistry
protected MatchingRuleRegistry matchingRuleRegistry
protected MatchingRuleUseRegistry matchingRuleUseRegistry
protected NameFormRegistry nameFormRegistry
protected NormalizerRegistry normalizerRegistry
protected OidRegistry<SchemaObject> globalOidRegistry
protected SyntaxCheckerRegistry syntaxCheckerRegistry
protected LdapSyntaxRegistry ldapSyntaxRegistry
public static final boolean STRICT
public static final boolean RELAXED
protected Map<SchemaObjectWrapper,Set<SchemaObjectWrapper>> usedBy
protected Map<SchemaObjectWrapper,Set<SchemaObjectWrapper>> using
public Registries()
public AttributeTypeRegistry getAttributeTypeRegistry()
public ComparatorRegistry getComparatorRegistry()
public DitContentRuleRegistry getDitContentRuleRegistry()
public DitStructureRuleRegistry getDitStructureRuleRegistry()
public MatchingRuleRegistry getMatchingRuleRegistry()
public MatchingRuleUseRegistry getMatchingRuleUseRegistry()
public NameFormRegistry getNameFormRegistry()
public NormalizerRegistry getNormalizerRegistry()
public ObjectClassRegistry getObjectClassRegistry()
public OidRegistry<SchemaObject> getGlobalOidRegistry()
public SyntaxCheckerRegistry getSyntaxCheckerRegistry()
public LdapSyntaxRegistry getLdapSyntaxRegistry()
public String getOid(String name)
name
- The name we are looking atpublic Schema getLoadedSchema(String schemaName)
schemaName
- the name of the schema to lookuppublic boolean isSchemaLoaded(String schemaName)
schemaName
- the name of the Schema to checkpublic List<Throwable> checkRefInteg()
public void delCrossReferences(AttributeType attributeType)
public void delCrossReferences(MatchingRule matchingRule)
public void buildReference(List<Throwable> errors, SchemaObject schemaObject)
public void removeReference(List<Throwable> errors, SchemaObject schemaObject)
public List<Throwable> buildReferences()
public List<Throwable> add(List<Throwable> errors, SchemaObject schemaObject, boolean check) throws LdapException
LdapException
public List<Throwable> delete(List<Throwable> errors, SchemaObject schemaObject) throws LdapException
LdapException
public void schemaLoaded(Schema schema)
schemaLoaded
in interface SchemaLoaderListener
schema
- the Schema that was loadedpublic void schemaUnloaded(Schema schema)
schemaUnloaded
in interface SchemaLoaderListener
schema
- the Schema that was unloadedpublic Map<String,Schema> getLoadedSchemas()
public Map<String,Set<SchemaObjectWrapper>> getObjectBySchemaName()
public boolean contains(SchemaObject schemaObject)
schemaObject
- The schemaObject we are looking forpublic Set<SchemaObjectWrapper> addSchema(String schemaName)
schemaName
- The schema namepublic void associateWithSchema(List<Throwable> errors, SchemaObject schemaObject)
schemaObject
- The schemaObject to registerLdapException
- If there is a problempublic void dissociateFromSchema(List<Throwable> errors, SchemaObject schemaObject) throws LdapException
schemaObject
- The schemaObject to registerLdapException
- If there is a problempublic void dissociateFromSchema(SchemaObject schemaObject) throws LdapException
schemaObject
- The schemaObject to removeLdapException
- If there is a problempublic boolean isReferenced(SchemaObject schemaObject)
schemaObject
- The SchemaObject we are looking forpublic Set<SchemaObjectWrapper> getUsedBy(SchemaObject schemaObject)
schemaObject
- The SchemaObject we are looking forpublic String dumpUsedBy()
public Set<SchemaObjectWrapper> getUsing(SchemaObject schemaObject)
schemaObject
- The SchemaObject we are looking forpublic void addReference(SchemaObject base, SchemaObject referenced)
base
- The base SchemaObjectreferenced
- The referenced SchemaObjectpublic void delReference(SchemaObject base, SchemaObject referenced)
base
- The base SchemaObjectreferenced
- The referenced SchemaObjectpublic boolean check()
public Registries clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
public boolean isRelaxed()
public boolean isStrict()
public void setRelaxed()
public void setStrict()
public boolean isDisabledAccepted()
public Set<SchemaObjectWrapper> getReferencing(SchemaObject schemaObject)
schemaObject
- The SchemaObject to removepublic void setDisabledAccepted(boolean disabledAccepted)
disabledAccepted
- If false
, then the Registries won't accept
disabled SchemaObject or enabled SchemaObject from disabled schemapublic void clear() throws LdapException
LdapException
- If something goes wrongpublic String toString()
toString
in class Object
Object.toString()
Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.