2016-06-16 4 views
0

에 인스턴스 메소드를 위임 나는 기능이 이런 종류의 구현 findind 방법 쉽게 해요 :멋져요 : 메타 클래스

RESTClient client = new RESTClient("https://api.github.com", JSON) 
class CoreApi {} 
RESTClient.methods*.name.each { name -> 
    if (! CoreApi.methods.contains(name)) { 
    CoreApi.metaClass.static."$name" = {Object... args -> client."$name"(*args)} 
    } 
} 

을 한 후 우리는 어떤 주석에 대한 그루비에서 사용할 수 있습니까 CoreApi.get(path: "https://stackoverflow.com/users/your-user")

사용할 수 있습니다 이런 종류의 행동을 구현합니까? 그게 뭐야?

답변

2

당신은 @Delegate

class CoreApi { 
    @Delegate RESTClient client 
} 

을 찾고 있습니다하지만 정적 메서드에 대한 GroovyObject 인터페이스에서

정적 방법, 합성 방법 또는 방법을 작동하지 않는 것은 임용 후보자하지