Class OidRegistry<T extends SchemaObject>

    • Method Detail

      • contains

        public boolean contains​(String oid)
        Tells if the given OID is present on this registry
        Parameters:
        oid - The OID to lookup
        Returns:
        true if the OID already exists
      • getPrimaryName

        public String getPrimaryName​(String oid)
                              throws LdapException
        Gets the primary name associated with an OID. The primary name is the first name specified for the OID.
        Parameters:
        oid - the object identifier
        Returns:
        the primary name
        Throws:
        LdapException - if oid does not exist
      • getSchemaObject

        public T getSchemaObject​(String oid)
                          throws LdapException
        Gets the SchemaObject associated with an OID.
        Parameters:
        oid - the object identifier
        Returns:
        the associated SchemaObject
        Throws:
        LdapException - if oid does not exist
      • getNameSet

        public List<StringgetNameSet​(String oid)
                                throws LdapException
        Gets the names associated with an OID. An OID is unique however it may have many names used to refer to it. A good example is the cn and commonName attribute names for OID 2.5.4.3. Within a server one name within the set must be chosen as the primary name. This is used to name certain things within the server internally. If there is more than one name then the first name is taken to be the primary.
        Parameters:
        oid - the OID for which we return the set of common names
        Returns:
        a sorted set of names
        Throws:
        LdapException - if oid does not exist
      • iteratorOids

        public Iterator<StringiteratorOids()
        Lists all the OIDs within the registry. This may be a really big list.
        Returns:
        all the OIDs registered
      • iterator

        public Iterator<Titerator()
        Lists all the SchemaObjects within the registry. This may be a really big list.
        Specified by:
        iterator in interface Iterable<T extends SchemaObject>
        Returns:
        all the SchemaObject registered
      • isRelaxed

        public boolean isRelaxed()
        Tells if the Registry is permissive or if it must be checked against inconsistencies.
        Returns:
        True if SchemaObjects can be added even if they break the consistency
      • isStrict

        public boolean isStrict()
        Tells if the Registry is strict.
        Returns:
        True if SchemaObjects cannot be added if they break the consistency
      • setRelaxed

        public void setRelaxed()
        Change the Registry to a relaxed mode, where invalid SchemaObjects can be registered.
      • setStrict

        public void setStrict()
        Change the Registry to a strict mode, where invalid SchemaObjects cannot be registered.
      • register

        public void register​(T schemaObject)
                      throws LdapException
        Adds an OID name pair to the registry.
        Parameters:
        schemaObject - The SchemaObject the oid belongs to
        Throws:
        LdapException - If something went wrong
      • unregister

        public void unregister​(String oid)
                        throws LdapException
        Removes an oid from this registry.
        Parameters:
        oid - the numeric identifier for the object
        Throws:
        LdapException - if the identifier is not numeric
      • copy

        public OidRegistry<Tcopy()
        Copy the OidRegistry, without the contained values
        Returns:
        A new OidRegistry instance
      • size

        public int size()
        Returns:
        The number of stored OIDs
      • clear

        public void clear()
        Empty the byOid map