# FieldChecker
Date: 2012-02-24

## 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.

Field Summary
`static java.lang.String` `FIELD_NAME_PATTERN` The pattern each document field name should match.
`static float` `MAX_NUMBER_VALUE` The maximum value that can be stored in a number field (1048576.0f).
`static int` `MAXIMUM_ATOM_LENGTH` The maximum length of an atom (500).
`static int` `MAXIMUM_NAME_LENGTH` The maximum length of a field name (500).
`static int` `MAXIMUM_TEXT_LENGTH` The maximum length of a text or HTML (1048576).
`static float` `MIN_NUMBER_VALUE` The minimum value that can be stored in a number field (-1048576.0f).

Constructor Summary
`FieldChecker()`

Method Summary
`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 specified in ISO860 format.
`static java.lang.String` `checkExpression(java.lang.String expression)` Checks whether 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` `checkText(java.lang.String text)` Checks whether a text is valid.
`static DocumentPb.Field` `checkValid(DocumentPb.Field field)`
`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`

Field Detail

### MAXIMUM_NAME_LENGTH

    public static final int MAXIMUM_NAME_LENGTH

  The maximum length of a field name (500).

  See Also:
    Constant Field Values

### MAXIMUM_TEXT_LENGTH

    public static final int MAXIMUM_TEXT_LENGTH

  The maximum length of a text or HTML (1048576).

  See Also:
    Constant Field Values

### MAXIMUM_ATOM_LENGTH

    public static final int MAXIMUM_ATOM_LENGTH

  The maximum length of an atom (500).

  See Also:
    Constant Field Values

### MAX_NUMBER_VALUE

    public static final float MAX_NUMBER_VALUE

  The maximum value that can be stored in a number field (1048576.0f).

  See Also:
    Constant Field Values

### MIN_NUMBER_VALUE

    public static final float MIN_NUMBER_VALUE

  The minimum value that can be stored in a number field (-1048576.0f).

  See Also:
    Constant Field Values

### FIELD_NAME_PATTERN

    public static final java.lang.String FIELD_NAME_PATTERN

  The pattern each document field name should match.

  See Also:
    Constant Field Values

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 `MAXIMUM_NAME_LENGTH` and it should match `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 Field.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 `MAXIMUM_NAME_LENGTH` and it should match `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 Field.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 Field.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 Field.MAXIMUM_ATOM_LENGTH in length.

  Parameters:
    `atom` - the atom to check
  Returns:
    the checked atom
  Throws:
    `java.lang.IllegalArgumentException` - if atom 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 `MIN_NUMBER_VALUE` and `MAX_NUMBER_VALUE`.

  Parameters:
    `value` - the value to check
  Returns:
    the checked number
  Throws:
    `java.lang.IllegalArgumentException` - if number is too long

### checkDate

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

  Checks whether a date is specified in ISO860 format. Date is nullable.

  Parameters:
    `date` - the date to check
  Returns:
    the checked date
  Throws:
    `java.lang.IllegalArgumentException` - if date has a time component

### checkExpression

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

  Checks whether 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

### 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