@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Sequence { /** The symbolic name of the datastore sequence. * @return the name of the sequence */ String name(); /** Strategy for the sequence. * @return the strategy for the sequence */ SequenceStrategy strategy(); /** Name of the sequence in the datastore. * @return the name of the datastore sequence */ String datastoreSequence() default ""; /** Name of a factory class for generating the sequence values. * @return the name of the factory class for the sequence */ Class factoryClass() default void.class; /** Vendor extensions for this sequence. * @return vendor extensions */ Extension[] extensions() default {}; }