Как создать необязательные параметры для собственных аннотаций? - PullRequest
79 голосов
/ 19 августа 2010

Ниже приведен код аннотации

public @interface ColumnName {
   String value();
   String datatype();
 }

Я хотел бы сделать datatype необязательным параметром, например

@ColumnName(value="password") 

должен быть допустимым кодом.

Ответы [ 2 ]

111 голосов
/ 19 августа 2010

Похоже на первый пример в официальной документации говорит само за себя ...

/**
 * Describes the Request-For-Enhancement(RFE) that led
 * to the presence of the annotated API element.
 */
public @interface RequestForEnhancement {
    int    id();
    String synopsis();
    String engineer() default "[unassigned]"; 
    String date()     default "[unimplemented]"; 
}
31 голосов
/ 19 августа 2010

Чтобы сделать его необязательным, вы можете присвоить ему значение по умолчанию, например:

public @interface ColumnName {
   String value();
   String datatype() default "String";
 }

Тогда его не нужно указывать при использовании аннотации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...