web-dev-qa-db-fra.com

Comment créer des paramètres optionnels pour ses propres annotations?

Voici le code d'annotation

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

J'aimerais faire de datatype un paramètre facultatif, par exemple

@ColumnName(value="password") 

devrait être un code valide.

81
Biju CD

On dirait que le premier exemple dans le documentation officielle dit tout ...

/**
 * 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]"; 
}
114
Riduidel

Pour le rendre facultatif, vous pouvez lui attribuer une valeur par défaut comme celle-ci:

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

Ensuite, il n'est pas nécessaire de le spécifier lorsque vous utilisez l'annotation.

32
Johannes Wachter