com.google.appengine.api.search
Class Document

java.lang.Object
  extended by com.google.appengine.api.search.Document
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ScoredDocument

public class Document
extends java.lang.Object
implements java.io.Serializable

Represents a user generated document. The following example shows how to create a document consisting of a set of fields, some with plain text and some in HTML.

    Document document = Document.newBuilder().setId("document id")
       .setLocale(Locale.UK)
       .addField(Field.newBuilder()
           .setName("subject")
           .setText("going for dinner"))
       .addField(Field.newBuilder()
           .setName("body")
           .setHTML("<html>I found a restaurant.</html>"))
       .addField(Field.newBuilder()
           .setName("signature")
           .setText("ten post jest przeznaczony dla odbiorcy")
           .setLocale(new Locale("pl")))
       .addField(Field.newBuilder()
           .setName("tag")
           .setText("food"))
       .addField(Field.newBuilder()
           .setName("tag")
           .setText("friend"))
       .build();
 
The following example shows how to access the fields within a document:
    Document document = ...

    for (Field field : document.getFields()) {
      switch (field.getType()) {
        case TEXT: use(field.getText()); break;
        case HTML: use(field.getHtml()); break;
        case ATOM: use(field.getAtom()); break;
        case DATE: use(field.getDate()); break;
      }
    }
 

See Also:
Serialized Form

Nested Class Summary
static class Document.Builder
          A builder of documents.
 
Method Summary
 boolean equals(java.lang.Object object)
           
 java.lang.Iterable<Field> getField(java.lang.String name)
          Deprecated. Use getFields(String) to get all fields with a specific name.
 int getFieldCount(java.lang.String name)
          Returns the number of times a field with the given name is present in this document.
 java.util.Set<java.lang.String> getFieldNames()
           
 java.lang.Iterable<Field> getFields()
           
 java.lang.Iterable<Field> getFields(java.lang.String name)
          Get an iterable of all fields with the given name.
 java.lang.String getId()
           
 java.util.Locale getLocale()
           
 Field getOnlyField(java.lang.String name)
          Returns the single field with the given name.
 int getRank()
          Returns the rank of this document.
 int hashCode()
           
static Document.Builder newBuilder()
          Creates a new document builder.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getFields

public java.lang.Iterable<Field> getFields()
Returns:
an iterable of Field in the document

getFieldNames

public java.util.Set<java.lang.String> getFieldNames()
Returns:
an unmodifiable Set of the field names in the document

getFields

public java.lang.Iterable<Field> getFields(java.lang.String name)
Get an iterable of all fields with the given name.

Parameters:
name - the name of the field name whose values are to be returned
Returns:
an unmodifiable Iterable of Field with the given name or null

getField

@Deprecated
public java.lang.Iterable<Field> getField(java.lang.String name)
Deprecated. Use getFields(String) to get all fields with a specific name.

Parameters:
name - the name of the field name whose values are to be returned
Returns:
an unmodifiable Iterable of Field with the given name or null

getOnlyField

public Field getOnlyField(java.lang.String name)
Returns the single field with the given name.

Parameters:
name - the name of the field to return
Returns:
the single field with name
Throws:
java.lang.IllegalArgumentException - if the document does not have exactly one field with the name

getFieldCount

public int getFieldCount(java.lang.String name)
Returns the number of times a field with the given name is present in this document.

Parameters:
name - the name of the field to be counted
Returns:
the number of times a field with the given name is present

getId

public java.lang.String getId()
Returns:
the id of the document

getLocale

public java.util.Locale getLocale()
Returns:
the Locale the document is written in. Can be null

getRank

public int getRank()
Returns the rank of this document. A document's rank is used to determine the default order in which documents are returned by search, if no sorting or scoring is specified.

Returns:
the rank of this document

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

newBuilder

public static Document.Builder newBuilder()
Creates a new document builder. You must use this method to obtain a new builder. The returned builder must be used to specify all properties of the document. To obtain the document call the Document.Builder.build() method on the returned builder.

Returns:
a builder which constructs a document object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object