1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package javax.jdo.annotations;
18
19 import java.lang.annotation.ElementType;
20 import java.lang.annotation.Retention;
21 import java.lang.annotation.RetentionPolicy;
22 import java.lang.annotation.Target;
23
24 /**
25 * Annotation for a datastore sequence.
26 * Maps across to the JDO2 element "sequence".
27 *
28 * @version 2.1
29 * @since 2.1
30 */
31 @Target(ElementType.TYPE)
32 @Retention(RetentionPolicy.RUNTIME)
33 public @interface Sequence
34 {
35 /** The symbolic name of the datastore sequence.
36 * @return the name of the sequence
37 */
38 String name();
39
40 /** Strategy for the sequence.
41 * @return the strategy for the sequence
42 */
43 SequenceStrategy strategy();
44
45 /** Name of the sequence in the datastore.
46 * @return the name of the datastore sequence
47 */
48 String datastoreSequence() default "";
49
50 /** Name of a factory class for generating the sequence values.
51 * @return the name of the factory class for the sequence
52 */
53 Class factoryClass() default void.class;
54
55 /** Vendor extensions for this sequence.
56 * @return vendor extensions
57 */
58 Extension[] extensions() default {};
59 }