Class SchemaUtils


  • public final class SchemaUtils
    extends Object
    Utility methods related to schema.
    • Method Detail

      • checkPasswordType

        public static SchemaUtils.PasswordType checkPasswordType​(AttributeType attrType)
        Checks if the provided attribute type contains a password.
        Parameters:
        attrType - The attribute type to check.
        Returns:
        a PasswordTypeCheck result
      • getElementDefinitionWithFileName

        public static String getElementDefinitionWithFileName​(SchemaElement element)
        Retrieves the definition string used to create the provided schema element and including the X-SCHEMA-FILE extension.
        Parameters:
        element - The schema element.
        Returns:
        The definition string used to create the schema element including the X-SCHEMA-FILE extension.
      • getElementSchemaFile

        public static String getElementSchemaFile​(SchemaElement element)
        Returns the schema file of the provided schema element.
        Parameters:
        element - The schema element.
        Returns:
        the schema file of schema element.
      • getSchemaFiles

        public static Path[] getSchemaFiles​(Path schemaDirectory)
                                     throws InitializationException
        Returns the list of schema files contained in the provided schema directory.
        Parameters:
        schemaDirectory - The directory containing schema files
        Returns:
        the schema files
        Throws:
        InitializationException - If the files can't be retrieved
      • addSchemaFileToElementDefinitionIfAbsent

        public static String addSchemaFileToElementDefinitionIfAbsent​(String definition,
                                                                      String schemaFile)
        Adds the provided schema file to the provided schema element definition.
        Parameters:
        definition - The schema element definition
        schemaFile - The name of the schema file to include in the definition
        Returns:
        The definition string of the element including the X-SCHEMA-FILE extension.
      • parseSchemaFileFromElementDefinition

        public static String parseSchemaFileFromElementDefinition​(String definition)
                                                           throws LdapException
        Parses the schema file (value of X-SCHEMA-FILE extension) from the provided schema element definition.

        It expects a single value for the X-SCHEMA-FILE extension, e.g.: "X-SCHEMA-FILE '99-user.ldif'", as there is no sensible meaning for multiple values.

        Parameters:
        definition - The definition of a schema element
        Returns:
        the value of the schema file or null if the X-SCHEMA-FILE extension is not present in the definition
        Throws:
        LdapException - If an error occurs while parsing the schema element definition
      • parseAttributeTypeOID

        public static String parseAttributeTypeOID​(String definition)
                                            throws LdapException
        Returns the OID from the provided attribute type definition, assuming the definition is valid.

        This method does not perform any check.

        Parameters:
        definition - The definition of an attribute type, assumed to be valid
        Returns:
        the OID, which is never null
        Throws:
        LdapException - If a problem occurs while parsing the definition
      • parseObjectClassOID

        public static String parseObjectClassOID​(String definition)
                                          throws LdapException
        Returns the OID from the provided object class definition, assuming the definition is valid.

        This method does not perform any check.

        Parameters:
        definition - The definition of a object class, assumed to be valid
        Returns:
        the OID, which is never null
        Throws:
        LdapException - If a problem occurs while parsing the definition
      • parseNameFormOID

        public static String parseNameFormOID​(String definition)
                                       throws LdapException
        Returns the OID from the provided name form definition, assuming the definition is valid.

        This method does not perform any check.

        Parameters:
        definition - The definition of a name form, assumed to be valid
        Returns:
        the OID, which is never null
        Throws:
        LdapException - If a problem occurs while parsing the definition
      • parseDITContentRuleOID

        public static String parseDITContentRuleOID​(String definition)
                                             throws LdapException
        Returns the OID from the provided DIT content rule definition, assuming the definition is valid.

        This method does not perform any check.

        Parameters:
        definition - The definition of a DIT content rule, assumed to be valid
        Returns:
        the OID, which is never null
        Throws:
        LdapException - If a problem occurs while parsing the definition
      • parseRuleID

        public static int parseRuleID​(String definition)
                               throws LdapException
        Returns the ruleID from the provided DIT structure rule definition, assuming the definition is valid.

        This method does not perform any check.

        Parameters:
        definition - The definition of a DIT structure rule, assumed to be valid
        Returns:
        the OID, which is never null
        Throws:
        LdapException - If a problem occurs while parsing the definition
      • parseMatchingRuleUseOID

        public static String parseMatchingRuleUseOID​(String definition)
                                              throws LdapException
        Returns the OID from the provided matching rule use definition, assuming the definition is valid.

        This method does not perform any check.

        Parameters:
        definition - The definition of a matching rule use, assumed to be valid
        Returns:
        the OID, which is never null
        Throws:
        LdapException - If a problem occurs while parsing the definition
      • parseSyntaxOID

        public static String parseSyntaxOID​(String definition)
                                     throws LdapException
        Returns the OID from the provided syntax definition, assuming the definition is valid.

        This method does not perform any check.

        Parameters:
        definition - The definition of a syntax, assumed to be valid
        Returns:
        the OID, which is never null
        Throws:
        LdapException - If a problem occurs while parsing the definition
      • is02ConfigLdif

        public static boolean is02ConfigLdif​(String schemaFile)
        Indicates if the provided schema file corresponds to the configuration schema.

        The file containing the definitions of the schema elements used for configuration must not be imported nor propagated to other servers because these definitions may vary between versions of OpenDJ.

        Parameters:
        schemaFile - The name of a file defining schema elements
        Returns:
        true if the file defines configuration elements, false otherwise
      • canBeRelaxed

        public static boolean canBeRelaxed​(boolean relaxRules,
                                           AttributeType at)
        Indicates if the provided attribute No-User-Modification constraint can be relaxed.
        Parameters:
        relaxRules - Indicates if the Relax Rules Control was used
        at - The attribute type to check
        Returns:
        true if the "No-User-Modification" constraint can be relaxed for this attribute, false otherwise