mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

matthew_swift
28.47.2010 cc556edc003e4fb8df13611167fab0d9fd3890f9
opendj-sdk/sdk/src/org/opends/sdk/schema/SyntaxImpl.java
@@ -34,20 +34,19 @@
/**
 * This class defines the set of methods and structures that must be
 * This interface defines the set of methods and structures that must be
 * implemented to define a new attribute syntax.
 */
public interface SyntaxImpl
{
  /**
   * Retrieves the default approximate matching rule that will be used
   * for attributes with this syntax.
   *
   * Retrieves the default approximate matching rule that will be used for
   * attributes with this syntax.
   *
   * @return The default approximate matching rule that will be used for
   *         attributes with this syntax, or {@code null} if approximate
   *         matches will not be allowed for this type by default.
   *         attributes with this syntax, or {@code null} if approximate matches
   *         will not be allowed for this type by default.
   */
  public String getApproximateMatchingRule();
@@ -56,10 +55,10 @@
  /**
   * Retrieves the default equality matching rule that will be used for
   * attributes with this syntax.
   *
   * @return The default equality matching rule that will be used for
   *         attributes with this syntax, or {@code null} if equality
   *         matches will not be allowed for this type by default.
   *
   * @return The default equality matching rule that will be used for attributes
   *         with this syntax, or {@code null} if equality matches will not be
   *         allowed for this type by default.
   */
  public String getEqualityMatchingRule();
@@ -67,7 +66,7 @@
  /**
   * Retrieves the common name for this attribute syntax.
   *
   *
   * @return The common name for this attribute syntax.
   */
  public String getName();
@@ -77,10 +76,10 @@
  /**
   * Retrieves the default ordering matching rule that will be used for
   * attributes with this syntax.
   *
   * @return The default ordering matching rule that will be used for
   *         attributes with this syntax, or {@code null} if ordering
   *         matches will not be allowed for this type by default.
   *
   * @return The default ordering matching rule that will be used for attributes
   *         with this syntax, or {@code null} if ordering matches will not be
   *         allowed for this type by default.
   */
  public String getOrderingMatchingRule();
@@ -89,56 +88,54 @@
  /**
   * Retrieves the default substring matching rule that will be used for
   * attributes with this syntax.
   *
   *
   * @return The default substring matching rule that will be used for
   *         attributes with this syntax, or {@code null} if substring
   *         matches will not be allowed for this type by default.
   *         attributes with this syntax, or {@code null} if substring matches
   *         will not be allowed for this type by default.
   */
  public String getSubstringMatchingRule();
  /**
   * Indicates whether this attribute syntax requires that values must
   * be encoded using the Basic Encoding Rules (BER) used by X.500
   * directories and always include the {@code binary} attribute
   * description option.
   *
   * @return {@code true} this attribute syntax requires that values
   *         must be BER encoded and always include the {@code binary}
   *         attribute description option, or {@code false} if not.
   * @see <a href="http://tools.ietf.org/html/rfc4522">RFC 4522 -
   *      Lightweight Directory Access Protocol (LDAP): The Binary
   *      Encoding Option </a>
   * Indicates whether this attribute syntax requires that values must be
   * encoded using the Basic Encoding Rules (BER) used by X.500 directories and
   * always include the {@code binary} attribute description option.
   *
   * @return {@code true} this attribute syntax requires that values must be BER
   *         encoded and always include the {@code binary} attribute description
   *         option, or {@code false} if not.
   * @see <a href="http://tools.ietf.org/html/rfc4522">RFC 4522 - Lightweight
   *      Directory Access Protocol (LDAP): The Binary Encoding Option </a>
   */
  public boolean isBEREncodingRequired();
  /**
   * Indicates whether this attribute syntax would likely be a human
   * readable string.
   *
   * @return {@code true} if this attribute syntax would likely be a
   *         human readable string or {@code false} if not.
   * Indicates whether this attribute syntax would likely be a human readable
   * string.
   *
   * @return {@code true} if this attribute syntax would likely be a human
   *         readable string or {@code false} if not.
   */
  boolean isHumanReadable();
  /**
   * Indicates whether the provided value is acceptable for use in an
   * attribute with this syntax. If it is not, then the reason may be
   * appended to the provided buffer.
   *
   * Indicates whether the provided value is acceptable for use in an attribute
   * with this syntax. If it is not, then the reason may be appended to the
   * provided buffer.
   *
   * @param schema
   *          The schema in which this syntax is defined.
   * @param value
   *          The value for which to make the determination.
   * @param invalidReason
   *          The buffer to which the invalid reason should be appended.
   * @return {@code true} if the provided value is acceptable for use
   *         with this syntax, or {@code false} if not.
   * @return {@code true} if the provided value is acceptable for use with this
   *         syntax, or {@code false} if not.
   */
  boolean valueIsAcceptable(Schema schema, ByteSequence value,
      LocalizableMessageBuilder invalidReason);