通过强制pojo字段的大写或小写,感谢在JAVA中创建自定义注释的任何帮助。喜欢得到类似下面的东西
// CaseMode enum would be
public enum CaseMode {
UPPER, LOWER;
}
@Target({ ElementType.FIELD, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Case {
// NEED HELP HERE
}
public class Customer {
@Case(value=CaseMode.UPPER)
private String fName;
{ set; get; }
}
客户对象中的setter方法默认情况下应强制数据基于注释存储在UPPERCASE或LOWERCASE中。感谢任何帮助,以获得这个。
提前致谢
答案 0 :(得分:1)
注释是Java中的被动元素;他们不能有任何行为。正如@maba所说,你不能在注释声明中写任何代码。
为了获得与您尝试的类似的东西,您需要能够检测注释并执行某些工作的东西。你有几个选择。
编写自定义编译时注释处理器允许您在编译之前预处理源代码。
面向方面编程可以在编译和运行时工作。它相对容易理解,但需要根据您的项目设置一些工具,具体取决于您的部署位置。
动态代理也很简单,但你需要改变你的代码访问对象的方式,可能是通过声明一些接口并使用它们代替类等。
代码生成库属于复杂的一面,具有很大的灵活性(例如,它们是如何通过POJO对象实现Hibernate的神奇功能)。
答案 1 :(得分:0)
您的陈述// NEED HELP HERE
应符合以下条件:
@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Case {
CaseMode value();
}
如果你认为你可以有一些代码那么你错了。