使自定义Java注释成为必需的
假设我正在为查询编写一个字符串生成器:使自定义Java注释成为必需的,java,annotations,Java,Annotations,假设我正在为查询编写一个字符串生成器: @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface SearchQuery { } 以及: 因此,@Search类具有返回字符串的@SearchQuery方法: @Search public class Queries extends Query{ @SearchQuery public String queryEveryth
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface SearchQuery {
}
以及:
因此,@Search
类具有返回字符串的@SearchQuery
方法:
@Search
public class Queries extends Query{
@SearchQuery
public String queryEverything(){
return "SELECT * FROM TABLE";
}
}
主要问题:
A.我是否可以使注释类@Search
强制至少存在一种@SearchQuery
方法
其他问题:
B.@SearchQuery
的方法是否可以强制始终返回字符串
C.我将RetentionPolicy设置为Runtime,因为我想做一些反射,但仅在测试中:否则我的注释将是SOURCE
。尽管在生产中没有任何用途,但仍可以将其作为运行时保存吗
我将对我当前的设置进行任何改进,请分享除删除sql字符串以外的任何内容,这只是出于示例目的。似乎是您想要的。所以前两个问题的答案是:是的,是的。
@Search
public class Queries extends Query{
@SearchQuery
public String queryEverything(){
return "SELECT * FROM TABLE";
}
}