package org.mongodb.morphia.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * <p>Annotation which helps migrate schemas by loading one of several possible properties in the document into fields or methods. This is * typically used when a field is renamed, allowing the field to be populated by both its current name and any prior names.</p> * <p/> * When placed on a field, the additional names (document field) will be checked when this field is loaded. If the document contains data * for more than one of the names, an exception will be thrown. (orig @author Jeff Schnitzer <jeff@infohazard.org> for Objectify) * * @author Scott Hernandez */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) public @interface AlsoLoad { /** * An array of alternative fields to load should the primary field name be missing in a document. */ String[] value(); }