com.google.appengine.api.search.checkers
Class FieldChecker

java.lang.Object
  extended by 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