Interface SchemaObjectRegistry<T extends SchemaObject>

    • 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 name
        newSchemaName - The new Schema name
        Throws:
        LdapException - if the schema object does not exist
      • iterator

        Iterator<Titerator()
        Gets an iterator over the registered schema objects in the registry.
        Returns:
        an Iterator of homogeneous schema objects
      • oidsIterator

        Iterator<StringoidsIterator()
        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<Tcopy()
        Copy a DefaultSchemaObjectRegistry. All the stored SchemaObject will also be copied, by the cross references will be lost.
        Returns:
        The copied registry
      • size

        int size()
        Returns:
        The number of AttributeType stored