@ObjectIdentifier

Meta-annotation for a mandatory String property or parameter representing a the identity of a domain object (with respect to its logical type, as per @ DomainObject#logicalTypeName() or @ Named#value() ) and consorts.

API

ObjectIdentifier.java
@interface ObjectIdentifier {
  int MAX_LENGTH;
  @AliasFor(annotation = Property.class, attribute = "maxLength")
int propertyMaxLength() default MAX_LENGTH;
  @AliasFor(annotation = Parameter.class, attribute = "maxLength")
int parameterMaxLength() default MAX_LENGTH;
  @AliasFor(annotation = Property.class, attribute = "optionality")
Optionality propertyOptionality() default Optionality.MANDATORY;
  @AliasFor(annotation = Parameter.class, attribute = "optionality")
Optionality parameterOptionality() default Optionality.MANDATORY;
  @AliasFor(annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
String columnAllowsNull() default "false";
  @AliasFor(annotation = javax.jdo.annotations.Column.class, attribute = "length")
int columnLength() default MAX_LENGTH;
}