/**
* Marks a custom annotation as a defining an identifier generator.
* <p/>
* Custom annotations must have retention policy {@link RetentionPolicy#RUNTIME}.
*/
public interface CustomIdentifierGeneratorAnnotationMarker {
Class<? extends IdentifierGeneratorBuilder> builder();
}
public interface IdentifierGeneratorBuilder {
public IdentifierGenerator getIdentifierGenerator(Annotation customAnnotation, ... );
}