org.apache.directory.shared.ldap.schema.registries
Interface AttributeTypeRegistry

All Superinterfaces:
java.lang.Iterable<AttributeType>, SchemaObjectRegistry<AttributeType>
All Known Implementing Classes:
DefaultAttributeTypeRegistry, ImmutableAttributeTypeRegistry

public interface AttributeTypeRegistry
extends SchemaObjectRegistry<AttributeType>, java.lang.Iterable<AttributeType>

An AttributeType registry service interface.

Version:
$Rev: 923524 $
Author:
Apache Directory Project

Method Summary
 void addMappingFor(AttributeType attributeType)
          Add a new Oid/Normalizer couple in the OidNormalizer map
 AttributeTypeRegistry copy()
          Copy the AttributeTypeRegistry
 java.util.Iterator<AttributeType> descendants(java.lang.String ancestorId)
          Get's an iterator over the set of descendant attributeTypes for some ancestor's name alias or their OID.
 java.util.Map<java.lang.String,OidNormalizer> getNormalizerMapping()
          Gets an oid/name to normalizer mapping used to normalize distinguished names.
 boolean hasDescendants(java.lang.String ancestorId)
          Quick lookup to see if an attribute has descendants.
 void registerDescendants(AttributeType attributeType, AttributeType ancestor)
          Store the AttributeType into a map associating an AttributeType to its descendants.
 void removeMappingFor(AttributeType attributeType)
          Remove a new Oid/Normalizer couple in the OidNormalizer map
 void unregisterDescendants(AttributeType attributeType, AttributeType ancestor)
          Remove the AttributeType from the map associating an AttributeType to its descendants.
 
Methods inherited from interface org.apache.directory.shared.ldap.schema.registries.SchemaObjectRegistry
clear, contains, get, getOidByName, getSchemaName, getType, iterator, lookup, oidsIterator, register, renameSchema, size, unregister, unregister, unregisterSchemaElements
 
Methods inherited from interface java.lang.Iterable
iterator
 

Method Detail

getNormalizerMapping

java.util.Map<java.lang.String,OidNormalizer> getNormalizerMapping()
Gets an oid/name to normalizer mapping used to normalize distinguished names.

Returns:
a map of OID Strings to OidNormalizer instances

hasDescendants

boolean hasDescendants(java.lang.String ancestorId)
                       throws LdapException
Quick lookup to see if an attribute has descendants.

Parameters:
ancestorId - the name alias or OID for an attributeType
Returns:
an Iterator over the AttributeTypes which have the ancestor within their superior chain to the top
Throws:
LdapException - if the ancestor attributeType cannot be discerned from the ancestorId supplied

descendants

java.util.Iterator<AttributeType> descendants(java.lang.String ancestorId)
                                              throws LdapException
Get's an iterator over the set of descendant attributeTypes for some ancestor's name alias or their OID.

Parameters:
ancestorId - the name alias or OID for an attributeType
Returns:
an Iterator over the AttributeTypes which have the ancestor within their superior chain to the top
Throws:
LdapException - if the ancestor attributeType cannot be discerned from the ancestorId supplied

registerDescendants

void registerDescendants(AttributeType attributeType,
                         AttributeType ancestor)
                         throws LdapException
Store the AttributeType into a map associating an AttributeType to its descendants.

Parameters:
attributeType - The attributeType to register
Throws:
LdapException - If something went wrong

unregisterDescendants

void unregisterDescendants(AttributeType attributeType,
                           AttributeType ancestor)
                           throws LdapException
Remove the AttributeType from the map associating an AttributeType to its descendants.

Parameters:
attributeType - The attributeType to unregister
ancestor - its ancestor
Throws:
LdapException - If something went wrong

addMappingFor

void addMappingFor(AttributeType attributeType)
                   throws LdapException
Add a new Oid/Normalizer couple in the OidNormalizer map

Throws:
LdapException

removeMappingFor

void removeMappingFor(AttributeType attributeType)
                      throws LdapException
Remove a new Oid/Normalizer couple in the OidNormalizer map

Throws:
LdapException

copy

AttributeTypeRegistry copy()
Copy the AttributeTypeRegistry

Specified by:
copy in interface SchemaObjectRegistry<AttributeType>
Returns:
SchemaObjectRegistry The copied registry


Copyright © 2003-2011 Apache Software Foundation. All Rights Reserved.