com.google.appengine.api.search.checkers

## Class FieldChecker

- java.lang.Object
- - com.google.appengine.api.search.checkers.FieldChecker

-     public final class FieldChecker
      extends java.lang.Object

  Provides checks for Field names, language code, and values: text, HTML, atom or date.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FieldChecker()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `checkAtom(java.lang.String atom)` Checks whether an atom is valid.
    `static java.util.Date` | `checkDate(java.util.Date date)` Checks whether a date is within range.
    `static java.lang.String` | `checkExpression(java.lang.String expression)` Checks whether a field expression is not null and is parsable.
    `static java.lang.String` | `checkFieldName(java.lang.String name)` Checks whether a field name is valid.
    `static java.lang.String` | `checkFieldName(java.lang.String name, java.lang.String fieldName)` Checks whether a field name is valid.
    `static java.lang.String` | `checkHTML(java.lang.String html)` Checks whether a html is valid.
    `static java.lang.Double` | `checkNumber(java.lang.Double value)` Checks whether a number is valid.
    `static java.lang.String` | `checkPrefix(java.lang.String prefix)` Checks whether a prefix field is valid.
    `static java.lang.String` | `checkSortExpression(java.lang.String expression)` Checks whether a sort bexpression is not null and is parsable.
    `static java.lang.String` | `checkText(java.lang.String text)` Checks whether a text is valid.
    `static DocumentPb.Field` | `checkValid(DocumentPb.Field field)`
    `static java.util.List<java.lang.Double>` | `checkVector(java.util.List<java.lang.Double> vector)` Checks whether a vector field is valid.
    `static java.util.Locale` | `parseLocale(java.lang.String locale)` Returns a `Locale` parsed from the given locale string.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FieldChecker

          public FieldChecker()

  - ### Method Detail

    - #### checkFieldName

          public static java.lang.String checkFieldName(java.lang.String name)

      Checks whether a field name is valid. The field name length must be between 1 and `SearchApiLimits.MAXIMUM_NAME_LENGTH` and it should match `SearchApiLimits.FIELD_NAME_PATTERN`.
      Parameters:
        `name` - the field name to check
      Returns:
        the checked field name
      Throws:
        `java.lang.IllegalArgumentException` - if the field name is null or empty or is longer than SearchApiLimits#MAXIMUM_NAME_LENGTH or it doesn't match #FIELD_NAME_PATTERN.

    - #### checkFieldName

          public static java.lang.String checkFieldName(java.lang.String name,
                                                        java.lang.String fieldName)

      Checks whether a field name is valid. The field name length must be between 1 and `SearchApiLimits.MAXIMUM_NAME_LENGTH` and it should match `SearchApiLimits.FIELD_NAME_PATTERN`.
      Parameters:
        `name` - the field name to check
        `fieldName` - the name of the Java field name of the class where name is checked
      Returns:
        the checked field name
      Throws:
        `java.lang.IllegalArgumentException` - if the field name is null or empty or is longer than Field.MAXIMUM_NAME_LENGTH or it doesn't match #FIELD_NAME_PATTERN.

    - #### checkText

          public static java.lang.String checkText(java.lang.String text)

      Checks whether a text is valid. A text can be null, or a string between 0 and SearchApiLimits.MAXIMUM_TEXT_LENGTH in length.
      Parameters:
        `text` - the text to check
      Returns:
        the checked text
      Throws:
        `java.lang.IllegalArgumentException` - if text is too long

    - #### checkHTML

          public static java.lang.String checkHTML(java.lang.String html)

      Checks whether a html is valid. A html can be null or a string between 0 and SearchApiLimits.MAXIMUM_TEXT_LENGTH in length.
      Parameters:
        `html` - the html to check
      Returns:
        the checked html
      Throws:
        `java.lang.IllegalArgumentException` - if html is too long

    - #### checkAtom

          public static java.lang.String checkAtom(java.lang.String atom)

      Checks whether an atom is valid. An atom can be null or a string between 1 and SearchApiLimits.MAXIMUM_ATOM_LENGTH in length.
      Parameters:
        `atom` - the atom to check
      Returns:
        the checked atom
      Throws:
        `java.lang.IllegalArgumentException` - if atom is too long

    - #### checkPrefix

          public static java.lang.String checkPrefix(java.lang.String prefix)

      Checks whether a prefix field is valid. A prefix field can be null or a string between 1 and SearchApiLimits.MAXIMUM_PREFIX_LENGTH in length.
      Parameters:
        `prefix` - the prefix to check
      Returns:
        the checked prefix
      Throws:
        `java.lang.IllegalArgumentException` - if prefix is too long

    - #### checkVector

          public static java.util.List<java.lang.Double> checkVector(java.util.List<java.lang.Double> vector)

      Checks whether a vector field is valid. A vector field can be an array of any number with size less than SearchApiLimits.VECTOR_FIELD_MAX_SIZE.
      Parameters:
        `vector` - the vector to check
      Throws:
        `java.lang.IllegalArgumentException` - if vector is too long.

    - #### checkNumber

          public static java.lang.Double checkNumber(java.lang.Double value)

      Checks whether a number is valid. A number can be null or a value between `SearchApiLimits.MINIMUM_NUMBER_VALUE` and `SearchApiLimits.MAXIMUM_NUMBER_VALUE`, inclusive.
      Parameters:
        `value` - the value to check
      Returns:
        the checked number
      Throws:
        `java.lang.IllegalArgumentException` - if number is out of range

    - #### checkDate

          public static java.util.Date checkDate(java.util.Date date)
                                          throws java.lang.IllegalArgumentException

      Checks whether a date is within range. Date is nullable.
      Parameters:
        `date` - the date to check
      Returns:
        the checked date
      Throws:
        `java.lang.IllegalArgumentException` - if date is out of range

    - #### checkExpression

          public static java.lang.String checkExpression(java.lang.String expression)

      Checks whether a field expression is not null and is parsable.
      Parameters:
        `expression` - the expression to check
      Returns:
        the checked expression
      Throws:
        `java.lang.IllegalArgumentException` - if the expression is null, or cannot be parsed

    - #### checkSortExpression

          public static java.lang.String checkSortExpression(java.lang.String expression)

      Checks whether a sort bexpression is not null and is parsable.
      Parameters:
        `expression` - the expression to check
      Returns:
        the checked expression
      Throws:
        `java.lang.IllegalArgumentException` - if the expression is null, or cannot be parsed

    - #### checkValid

          public static DocumentPb.Field checkValid(DocumentPb.Field field)

    - #### parseLocale

          public static java.util.Locale parseLocale(java.lang.String locale)

      Returns a `Locale` parsed from the given locale string.
      Parameters:
        `locale` - a string representation of a `Locale`
      Returns:
        a `Locale` parsed from the given locale string
      Throws:
        `java.lang.IllegalArgumentException` - if the locale cannot be parsed