Class ImmutableSyntaxCheckerRegistry
- java.lang.Object
-
- org.apache.directory.api.ldap.model.schema.registries.ImmutableSyntaxCheckerRegistry
-
- All Implemented Interfaces:
Iterable<SyntaxChecker>
,SchemaObjectRegistry<SyntaxChecker>
,SyntaxCheckerRegistry
public class ImmutableSyntaxCheckerRegistry extends Object implements SyntaxCheckerRegistry
An immutable wrapper of the SyntaxChecker registry.- Author:
- Apache Directory Project
-
-
Constructor Summary
Constructors Constructor Description ImmutableSyntaxCheckerRegistry(SyntaxCheckerRegistry syntaxCheckerRegistry)
Creates a new instance of ImmutableSyntaxCheckerRegistry.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Clear the registry from all its contentboolean
contains(String oid)
Checks to see if an SchemaObject exists in the registry, by its OID or name.ImmutableSyntaxCheckerRegistry
copy()
Copy the SyntaxCheckerRegistrySyntaxChecker
get(String oid)
Gets the SchemaObject associated with a given OID.String
getOidByName(String name)
Gets the numericOid for a name/alias if one is associated.String
getSchemaName(String oid)
Gets the name of the schema this schema object is associated with.SchemaObjectType
getType()
Iterator<SyntaxChecker>
iterator()
Gets an iterator over the registered schema objects in the registry.SyntaxChecker
lookup(String oid)
Looks up a SchemaObject by its unique Object Identifier or by name.Iterator<String>
oidsIterator()
Gets an iterator over the registered schema objects'OID in the registry.void
register(SyntaxChecker syntaxChecker)
Registers a new SyntaxChecker with this registry.void
renameSchema(String originalSchemaName, String newSchemaName)
Modify all the SchemaObject using a schemaName when this name changes.int
size()
SyntaxChecker
unregister(String numericOid)
Removes the SyntaxChecker registered with this registry, using its numeric OID.SyntaxChecker
unregister(SyntaxChecker schemaObject)
Removes the SchemaObject registered with this registry.void
unregisterSchemaElements(String schemaName)
Unregisters all SyntaxCheckers defined for a specific schema from this registry.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
ImmutableSyntaxCheckerRegistry
public ImmutableSyntaxCheckerRegistry(SyntaxCheckerRegistry syntaxCheckerRegistry)
Creates a new instance of ImmutableSyntaxCheckerRegistry.- Parameters:
syntaxCheckerRegistry
- The wrapped SyntaxChecker registry
-
-
Method Detail
-
register
public void register(SyntaxChecker syntaxChecker) throws LdapException
Registers a new SyntaxChecker with this registry.- Specified by:
register
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Specified by:
register
in interfaceSyntaxCheckerRegistry
- Parameters:
syntaxChecker
- the SyntaxChecker to register- Throws:
LdapException
- if the SyntaxChecker is already registered or the registration operation is not supported
-
unregister
public SyntaxChecker unregister(String numericOid) throws LdapException
Removes the SyntaxChecker registered with this registry, using its numeric OID.- Specified by:
unregister
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Specified by:
unregister
in interfaceSyntaxCheckerRegistry
- Parameters:
numericOid
- the numeric identifier- Returns:
- The unregistred schema object
- Throws:
LdapException
- if the numeric identifier is invalid
-
unregisterSchemaElements
public void unregisterSchemaElements(String schemaName) throws LdapException
Unregisters all SyntaxCheckers defined for a specific schema from this registry.- Specified by:
unregisterSchemaElements
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Specified by:
unregisterSchemaElements
in interfaceSyntaxCheckerRegistry
- Parameters:
schemaName
- the name of the schema whose SyntaxCheckers will be removed from- Throws:
LdapException
- If we had a problem while unregistering the schema
-
copy
public ImmutableSyntaxCheckerRegistry copy()
Copy the SyntaxCheckerRegistry- Specified by:
copy
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Specified by:
copy
in interfaceSyntaxCheckerRegistry
- Returns:
- The copied registry
-
size
public int size()
- Specified by:
size
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Returns:
- The number of AttributeType stored
-
contains
public boolean contains(String oid)
Checks to see if an SchemaObject exists in the registry, by its OID or name.- Specified by:
contains
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Parameters:
oid
- the object identifier or name of the SchemaObject- Returns:
- true if a SchemaObject definition exists for the oid, false otherwise
-
getOidByName
public String getOidByName(String name) throws LdapException
Gets the numericOid for a name/alias if one is associated. To prevent lookup failures due to case variance in the name, a failure to lookup the OID, will trigger a lookup using a lower cased version of the name and the name that failed to match will automatically be associated with the OID.- Specified by:
getOidByName
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Parameters:
name
- The name we are looking the oid for- Returns:
- The numericOID associated with this name
- Throws:
LdapException
- If the OID can't be found
-
getSchemaName
public String getSchemaName(String oid) throws LdapException
Gets the name of the schema this schema object is associated with.- Specified by:
getSchemaName
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Parameters:
oid
- the object identifier or the name- Returns:
- the schema name
- Throws:
LdapException
- if the schema object does not exist
-
getType
public SchemaObjectType getType()
- Specified by:
getType
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Returns:
- the type
-
iterator
public Iterator<SyntaxChecker> iterator()
Gets an iterator over the registered schema objects in the registry.- Specified by:
iterator
in interfaceIterable<SyntaxChecker>
- Specified by:
iterator
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Returns:
- an Iterator of homogeneous schema objects
-
lookup
public SyntaxChecker lookup(String oid) throws LdapException
Looks up a SchemaObject by its unique Object Identifier or by name.- Specified by:
lookup
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Parameters:
oid
- the object identifier or name- Returns:
- the SchemaObject instance for the id
- Throws:
LdapException
- if the SchemaObject does not exist
-
oidsIterator
public Iterator<String> oidsIterator()
Gets an iterator over the registered schema objects'OID in the registry.- Specified by:
oidsIterator
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Returns:
- an Iterator of OIDs
-
renameSchema
public void renameSchema(String originalSchemaName, String newSchemaName) throws LdapException
Modify all the SchemaObject using a schemaName when this name changes.- Specified by:
renameSchema
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Parameters:
originalSchemaName
- The original Schema namenewSchemaName
- The new Schema name- Throws:
LdapException
- if the schema object does not exist
-
get
public SyntaxChecker get(String oid)
Gets the SchemaObject associated with a given OID.- Specified by:
get
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Parameters:
oid
- The SchemaObject's OID we are looking for- Returns:
- The SchemaObject, if any. Null otherwise
-
clear
public void clear() throws LdapException
Clear the registry from all its content- Specified by:
clear
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Throws:
LdapException
- If we had a failure while clearing the registry
-
unregister
public SyntaxChecker unregister(SyntaxChecker schemaObject) throws LdapException
Removes the SchemaObject registered with this registry.- Specified by:
unregister
in interfaceSchemaObjectRegistry<SyntaxChecker>
- Parameters:
schemaObject
- the schemaObject to unregister- Returns:
- The unregistred schema object
- Throws:
LdapException
- if the schemaObject can't be unregistered is invalid
-
-