package org.mongodb.morphia.annotations;


import org.mongodb.morphia.utils.IndexDirection;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


Specified on fields that should be Indexed.
Author:Scott Hernandez
/** * Specified on fields that should be Indexed. * * @author Scott Hernandez */
@SuppressWarnings("deprecation") @Documented @Inherited @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) public @interface Indexed {
Options to apply to the index. Use of this field will ignore any of the deprecated options defined on Index directly.
/** * Options to apply to the index. Use of this field will ignore any of the deprecated options defined on {@link Index} directly. */
IndexOptions options() default @IndexOptions();
Creates the index in the background if true
Deprecated:use the IndexOptions found in options()
/** * Creates the index in the background if true * * @deprecated use the {@link IndexOptions} found in {@link #options()} */
@Deprecated boolean background() default false;
Tells the unique index to drop duplicates silently when creating; only the first will be kept
Deprecated:Support for this has been removed from the server. This value is ignored.
/** * Tells the unique index to drop duplicates silently when creating; only the first will be kept * * @deprecated Support for this has been removed from the server. This value is ignored. */
@Deprecated boolean dropDups() default false;
defines the time to live for documents in the collection
Deprecated:use the IndexOptions found in options()
/** * defines the time to live for documents in the collection * * @deprecated use the {@link IndexOptions} found in {@link #options()} */
@Deprecated int expireAfterSeconds() default -1;
The name of the index to create; default is to let the mongodb create a name (in the form of key1_1/-1_key2_1/-1...)
Deprecated:use the IndexOptions found in options()
/** * The name of the index to create; default is to let the mongodb create a name (in the form of key1_1/-1_key2_1/-1...) * * @deprecated use the {@link IndexOptions} found in {@link #options()} */
@Deprecated String name() default "";
Create the index with the sparse option
Deprecated:use the IndexOptions found in options()
/** * Create the index with the sparse option * * @deprecated use the {@link IndexOptions} found in {@link #options()} */
@Deprecated boolean sparse() default false;
Creates the index as a unique value index; inserting duplicates values in this field will cause errors
Deprecated:use the IndexOptions found in options()
/** * Creates the index as a unique value index; inserting duplicates values in this field will cause errors * * @deprecated use the {@link IndexOptions} found in {@link #options()} */
@Deprecated boolean unique() default false;
Indicates the type of the index (ascending, descending, geo2d); default is ascending
Deprecated:use the IndexOptions found in options()
/** * Indicates the type of the index (ascending, descending, geo2d); default is ascending * * @deprecated use the {@link IndexOptions} found in {@link #options()} */
@Deprecated IndexDirection value() default IndexDirection.ASC; }