001 package com.sptci.prevayler.annotations;
002
003 import java.lang.annotation.Documented;
004 import java.lang.annotation.ElementType;
005 import java.lang.annotation.Inherited;
006 import java.lang.annotation.Retention;
007 import java.lang.annotation.RetentionPolicy;
008 import java.lang.annotation.Target;
009
010 /**
011 * Annotation for specifying all the indexed fields in a prevalent class.
012 * Note that this annotation should not be used (it won't cause any errors)
013 * on fields that are references to other prevalent objects. It is best to
014 * use the {@link ForeignKeys} annotation for references to prevalent objects.
015 *
016 * <p>© Copyright 2008 <a href='http://sptci.com/' target='_top'>Sans Pareil Technologies, Inc.</a></p
017 * @author User: rakesh 2008-05-22
018 * @version $Id: Indices.java 11 2008-06-30 21:33:41Z sptrakesh $
019 */
020 @Documented
021 @Inherited
022 @Retention( RetentionPolicy.RUNTIME )
023 @Target( ElementType.TYPE )
024 public @interface Indices
025 {
026 /**
027 * The array of {@link Index} annotations that represent all the index
028 * definitions for the prevalent object.
029 *
030 * @return The array of index definitions.
031 */
032 Index[] value();
033 }