Я определил аннотацию следующим образом
import java.lang.annotation.ElementType
import java.lang.annotation.Inherited
import java.lang.annotation.Retention
import java.lang.annotation.RetentionPolicy
import java.lang.annotation.Target
/**
* Annotation for any object that exposed a remote interface
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Remote {
String label()
}
, и я пытаюсь использовать ее таким образом
import com.yascie.annotation.Remote
@Remote("Bar")
class Foo {
String name
String value
static String code
}
Я получаю сообщение об ошибке, в котором говорится, что аннотация отсутствуетlabel
java.lang.annotation.IncompleteAnnotationException: Remote missing element label
Теперь, когда я попытался осмотреть объект аннотации, я вижу, что метод метки доступен через прокси, но я не могу получить к нему доступ.Есть идеи?
Remote annotation = objectClass.clazz.getAnnotation(Remote.class);
annotation.metaClass.methods.each {println it}
public final java.lang.String $Proxy14.label()