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>&copy; 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    }