Annotation Type Index


@Retention(RUNTIME)
@Target({FIELD,TYPE})
public @interface Index

This annotation controls whether or not fields are indexed in the datastore.

When placed on a simple field, the field will be indexed if possible. Text, Blob, and @Serialize fields cannot be indexed. If the field is an @Embed class or a collection of @Embed classes, the fields of those classes will be indexed as if the class had the @Index annotation.

When placed on an entity class or an embedded class, this sets the default for all fields to be indexed. It can be overridden by field level annotations.

If an embedded class field is annotated with @Index, any @Index or @Unindex annotation on the class itself is ignored.

If passed one or more classes that implement the If interface, the value will be indexed only if it tests positive for any of the conditions. This allows "partial indexing" of only some categories of values (ie, true but not false).

Author:
Scott Hernandez
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<? extends If<?,​?>>[]
     
  • Element Details

    • value

      Class<? extends If<?,​?>>[] value
      Default:
      {com.googlecode.objectify.condition.Always.class}