4.2.1.9 - ApacheDS Schema Element

We have defined 3 more schema elements that are needed to use the SchemaManager:

  • SyntaxChecker : used to check a value’s syntax
  • Normalizer : used to normalize a value before a comparison
  • LdapComparator : used to compare two values for a given syntax

SyntaxChecker

This class exposes this method:

  • isValidSyntax(Object): tells if the value is correct

Normalizer

This class is used to normalize values into a canonical form. This is a process exposed in [RFC4518|https://tools.ietf.org/html/rfc4518]. Basically, each String is passed trhough a 6-step process:

  • Transcode
  • Map
  • Normalize
  • Prohibit
  • Check Bidi (Bidirectional)
  • Insignificant Character Handling

This can be done using one of these two methods:

  • normalize(String) : normalize a String
  • normalize(Value<?>) : normalize a Value, which can be a String or a byte[]

This class is used internally when comparing two values, but you should not need it.

LdapComparator

This class is used to compare two values whenever their syntax are the same. Here is the method that does it:

  • equals(Object) : says if a value is equal to another one.

Note because the LdapComparator class implements the Comparator interface, one can compare two values using the following method:

  • compare( v1, v2 ): compares two values