Java中类似Python的装饰器?
我大部分时间都花在Python中编程,所以如果我解决这个问题的方法很短,请原谅我:
我想让类的某些方法需要登录凭据。简单地说,每个方法都应该检查是否设置了类变量,如果是这样,请继续,但如果没有,请吐出“您需要登录”消息。user
在Python中,我只会写一个装饰器来做到这一点。我怎样才能用尽可能少的冗余代码在java中完成同样的事情?
谢谢!
我大部分时间都花在Python中编程,所以如果我解决这个问题的方法很短,请原谅我:
我想让类的某些方法需要登录凭据。简单地说,每个方法都应该检查是否设置了类变量,如果是这样,请继续,但如果没有,请吐出“您需要登录”消息。user
在Python中,我只会写一个装饰器来做到这一点。我怎样才能用尽可能少的冗余代码在java中完成同样的事情?
谢谢!
最简单的方法是编写一个类似“assertCredentials”的方法,并在每个需要凭据的方法开始时调用该方法。如果未设置凭据,则该方法应引发异常,这将中止父方法。
Java有可以用来装饰方法等的注释,但我不认为在这种情况下使用注释会简化事情。