Interface SchemaObjectRegistry<T extends SchemaObject>
-
- Type Parameters:
T
- The SchemaObject type
- All Known Subinterfaces:
AttributeTypeRegistry
,ComparatorRegistry
,DitContentRuleRegistry
,DitStructureRuleRegistry
,LdapSyntaxRegistry
,MatchingRuleRegistry
,MatchingRuleUseRegistry
,NameFormRegistry
,NormalizerRegistry
,ObjectClassRegistry
,SyntaxCheckerRegistry
- All Known Implementing Classes:
DefaultAttributeTypeRegistry
,DefaultComparatorRegistry
,DefaultDitContentRuleRegistry
,DefaultDitStructureRuleRegistry
,DefaultLdapSyntaxRegistry
,DefaultMatchingRuleRegistry
,DefaultMatchingRuleUseRegistry
,DefaultNameFormRegistry
,DefaultNormalizerRegistry
,DefaultObjectClassRegistry
,DefaultSchemaObjectRegistry
,DefaultSyntaxCheckerRegistry
,ImmutableAttributeTypeRegistry
,ImmutableComparatorRegistry
,ImmutableDitContentRuleRegistry
,ImmutableDitStructureRuleRegistry
,ImmutableLdapSyntaxRegistry
,ImmutableMatchingRuleRegistry
,ImmutableMatchingRuleUseRegistry
,ImmutableNameFormRegistry
,ImmutableNormalizerRegistry
,ImmutableObjectClassRegistry
,ImmutableSyntaxCheckerRegistry
public interface SchemaObjectRegistry<T extends SchemaObject>
Common schema object registry interface.- Author:
- Apache Directory Project
-
-
Method Summary
All Methods Instance Methods Abstract 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.SchemaObjectRegistry<T>
copy()
Copy a DefaultSchemaObjectRegistry.T
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<T>
iterator()
Gets an iterator over the registered schema objects in the registry.T
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(T schemaObject)
Registers a new SchemaObject with this registry.void
renameSchema(String originalSchemaName, String newSchemaName)
Modify all the SchemaObject using a schemaName when this name changes.int
size()
T
unregister(String numericOid)
Removes the SchemaObject registered with this registry, using its numeric OID.T
unregister(T schemaObject)
Removes the SchemaObject registered with this registry.void
unregisterSchemaElements(String schemaName)
Unregisters all SchemaObjects defined for a specific schema from this registry.
-
-
-
Method Detail
-
contains
boolean contains(String oid)
Checks to see if an SchemaObject exists in the registry, by its OID or name.- Parameters:
oid
- the object identifier or name of the SchemaObject- Returns:
- true if a SchemaObject definition exists for the oid, false otherwise
-
getSchemaName
String getSchemaName(String oid) throws LdapException
Gets the name of the schema this schema object is associated with.- Parameters:
oid
- the object identifier or the name- Returns:
- the schema name
- Throws:
LdapException
- if the schema object does not exist
-
get
T get(String oid)
Gets the SchemaObject associated with a given OID.- Parameters:
oid
- The SchemaObject's OID we are looking for- Returns:
- The SchemaObject, if any. Null otherwise
-
renameSchema
void renameSchema(String originalSchemaName, String newSchemaName) throws LdapException
Modify all the SchemaObject using a schemaName when this name changes.- Parameters:
originalSchemaName
- The original Schema namenewSchemaName
- The new Schema name- Throws:
LdapException
- if the schema object does not exist
-
iterator
Iterator<T> iterator()
Gets an iterator over the registered schema objects in the registry.- Returns:
- an Iterator of homogeneous schema objects
-
oidsIterator
Iterator<String> oidsIterator()
Gets an iterator over the registered schema objects'OID in the registry.- Returns:
- an Iterator of OIDs
-
lookup
T lookup(String oid) throws LdapException
Looks up a SchemaObject by its unique Object Identifier or by name.- Parameters:
oid
- the object identifier or name- Returns:
- the SchemaObject instance for the id
- Throws:
LdapException
- if the SchemaObject does not exist
-
register
void register(T schemaObject) throws LdapException
Registers a new SchemaObject with this registry.- Parameters:
schemaObject
- the SchemaObject to register- Throws:
LdapException
- if the SchemaObject is already registered or the registration operation is not supported
-
unregister
T unregister(String numericOid) throws LdapException
Removes the SchemaObject registered with this registry, using its numeric OID.- Parameters:
numericOid
- the numeric identifier- Returns:
- The unregistred schema object
- Throws:
LdapException
- if the numeric identifier is invalid
-
unregister
T unregister(T schemaObject) throws LdapException
Removes the SchemaObject registered with this registry.- Parameters:
schemaObject
- the schemaObject to unregister- Returns:
- The unregistred schema object
- Throws:
LdapException
- if the schemaObject can't be unregistered is invalid
-
unregisterSchemaElements
void unregisterSchemaElements(String schemaName) throws LdapException
Unregisters all SchemaObjects defined for a specific schema from this registry.- Parameters:
schemaName
- the name of the schema whose SchemaObjects will be removed from- Throws:
LdapException
- If we had a problem while unregistering the schema
-
getOidByName
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.- 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
-
copy
SchemaObjectRegistry<T> copy()
Copy a DefaultSchemaObjectRegistry. All the stored SchemaObject will also be copied, by the cross references will be lost.- Returns:
- The copied registry
-
getType
SchemaObjectType getType()
- Returns:
- the type
-
size
int size()
- Returns:
- The number of AttributeType stored
-
clear
void clear() throws LdapException
Clear the registry from all its content- Throws:
LdapException
- If we had a failure while clearing the registry
-
-