0

是否有可能我将自定义注释放在类上,然后强制开发人员将注释放在方法上?

假设我有三个自定义注释

  1. @Loggable
  2. @MySQLLoggable
  3. @CassandraLoggable

当我在 class 上放置@Loggble注释时,它强制开发人员通过@MySQLLoggable@CassandraLoggable注释其所有方法。

让我知道!

已编辑

@Loggable // Suppose I put this annotation on class
public class Service {


@MySQLLoggable //eclipse forceful the developer 
              //to put  @MySQLLoggable or @CassandraLoggable on sayHello()
public String sayHello() {
    return null;
}

}
4

2 回答 2

0

抱歉,如果您希望 IDE 让开发人员使用您的自定义注释,那么您最好阅读您的 IDE 规范和可能的自定义。如果您希望稍后在执行期间您的应用程序在未注释方法的情况下抛出异常,那么您必须使用反射。让我们节省您使用工厂模式创建对象的时间。因此,在创建它们之前,您可以检查是否所有方法都已注释,如果不是全部则抛出异常。我再次相信你必须使用反射..这只是一种方法!

于 2013-10-25T05:45:19.770 回答
0

使用@interface

    public @interface foo {

    String str();

    }



    @foo(str = "str")
    public class myClass{

    }

编辑

    public @interface loggable {

    @loggable1(method) @loggable2(method))
    String foo();

    }
于 2013-10-25T04:07:15.060 回答