这是与Use an annotation as a typed method parameter类似的问题,但这个问题是否适用于Groovy编程语言。
在Groovy中,是否可以使用类注释作为类型化方法参数。例如 - 这是您的注释
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Entity {
}
然后
@Entity
public class Car {
...
}
然后再做
interface Persister {
void persist(Entity entity);
}
...
由于
答案 0 :(得分:1)
是。当您从某个成员中获取Entity
类时,可以获取该实例:
import java.lang.annotation.*
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface Entity { }
@Entity
class Car { }
def persist(Entity entity) {
println "entity=$entity"
}
car = new Car()
entity = car.class.getAnnotation(Entity)
persist entity // this will print "entity=@Entity()"