Class SchemaFactory


  • public final class SchemaFactory
    extends Object
    Factory to create Schema objects from an LDAP entry.
    • Field Detail

      • SUBSCHEMA_SUBENTRY_ATTR_NAME

        private static final String SUBSCHEMA_SUBENTRY_ATTR_NAME
        Attribute on the root DSE indicating the location of the subschema entry.
        See Also:
        Constant Field Values
      • ATTRIBUTE_TYPES_ATTR_NAME

        private static final String ATTRIBUTE_TYPES_ATTR_NAME
        Attribute types attribute name on the subschema entry.
        See Also:
        Constant Field Values
      • DIT_CONTENT_RULES_ATTR_NAME

        private static final String DIT_CONTENT_RULES_ATTR_NAME
        DIT content rules attribute name on the subschema entry.
        See Also:
        Constant Field Values
      • DIT_STRUCTURE_RULES_ATTR_NAME

        private static final String DIT_STRUCTURE_RULES_ATTR_NAME
        DIT structure rules attribute name on the subschema entry.
        See Also:
        Constant Field Values
      • LDAP_SYNTAXES_ATTR_NAME

        private static final String LDAP_SYNTAXES_ATTR_NAME
        LDAP syntaxes attribute name on the subschema entry.
        See Also:
        Constant Field Values
      • MATCHING_RULES_ATTR_NAME

        private static final String MATCHING_RULES_ATTR_NAME
        Matching rules attribute name on the subschema entry.
        See Also:
        Constant Field Values
      • MATCHING_RULE_USE_ATTR_NAME

        private static final String MATCHING_RULE_USE_ATTR_NAME
        Matching rule use attribute name on the subschema entry.
        See Also:
        Constant Field Values
      • NAME_FORMS_ATTR_NAME

        private static final String NAME_FORMS_ATTR_NAME
        Name forms attribute name on the subschema entry.
        See Also:
        Constant Field Values
      • OBJECT_CLASS_ATTR_NAME

        private static final String OBJECT_CLASS_ATTR_NAME
        Object classes attribute name on the subschema entry.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SchemaFactory

        private SchemaFactory()
        Default constructor.
    • Method Detail

      • createSchema

        public static Schema createSchema​(InputStream is)
                                   throws IOException
        Creates a new schema. The input stream should contain the LDIF for the subschema entry.
        Parameters:
        is - containing the schema ldif
        Returns:
        schema created from the ldif
        Throws:
        IOException - if an error occurs reading the input stream
      • createSchema

        public static Schema createSchema​(ConnectionFactory factory)
                                   throws LdapException
        Creates a new schema. The subschema subentry is searched for on the root DSE, followed by searching for the subschema entry itself.
        Parameters:
        factory - to obtain an LDAP connection from
        Returns:
        schema created from the connection factory
        Throws:
        LdapException - if the search fails
      • createSchema

        public static Schema createSchema​(ConnectionFactory factory,
                                          String entryDn)
                                   throws LdapException
        Creates a new schema. The entryDn is searched to obtain the schema.
        Parameters:
        factory - to obtain an LDAP connection from
        entryDn - the subschema entry
        Returns:
        schema created from the connection factory
        Throws:
        LdapException - if the search fails
      • createSchema

        public static Schema createSchema​(LdapEntry schemaEntry)
        Creates a new schema. The schema entry is parsed to obtain the schema.
        Parameters:
        schemaEntry - containing the schema
        Returns:
        schema created from the entry
      • getLdapEntry

        private static LdapEntry getLdapEntry​(ConnectionFactory factory,
                                              String dn,
                                              String filter,
                                              String... retAttrs)
                                       throws LdapException
        Searches for the supplied dn and returns its ldap entry.
        Parameters:
        factory - to obtain an LDAP connection from
        dn - to search for
        filter - search filter
        retAttrs - attributes to return
        Returns:
        ldap entry
        Throws:
        LdapException - if the search fails