Class SchemaUtils

java.lang.Object
org.opends.server.util.SchemaUtils

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

    • 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 List<Path> getSchemaFiles(Path schemaDirectory) throws IOException
      Returns the list of schema files contained in the provided schema directory.
      Parameters:
      schemaDirectory - The directory containing schema files
      Returns:
      the schema files
      Throws:
      IOException - 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