我已经开始写一些注解,让我可以更轻松地定义一些 bukkit 插件中的信息模型类。
简单地说,我目前有两个注释,分别称为 @Model
和 @Field
。一种是将某个类标记为某些信息的模型,另一种是将某个字段标记为转置到数据库列中:
字段:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Field {
public Class type();
}
型号:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Model {
}
我创建了一个使用这些注解的测试类:
import bukkitutils.sql.Field;
import bukkitutils.sql.Model;
@Model
public class ExampleModelClass {
@Field(type = String.class)
private String exampleStringField = "default value";
}
这似乎工作正常,我可以将类作为注释属性传递。我的问题是:
如何使该属性采用默认值 String.class
,这样我就不必指定它,如果我希望该属性与字段属于同一类。?
我知道我可以指定默认值,例如public String exampleString() default "exampledefault"
,但是我怎样才能在其中获取字段的类?