2016-07-28 9 views
2

どのようにしてプロパティのリストとしてインターフェイスのメソッドを取得できますか?私は私がプロパティメソッドを使用してみました、私は最終的な出力のような特性をいくつかがプロパティへのgroovyインターフェイスメソッド

[type, aggregateId, xmlPayload] 

あるべきなメソッドのリストを取得しようとしています。このような方法

interface ValuationEvent { 
    String getType() 
    String getAggregateId() 
    String getXmlPayload() 
} 

と以下のインタフェースを持っていますが、それは私を与えます上記の特性

を含まない54体の特性の長いリスト
def documentProperties = ValuationEvent.properties 

答えて

1

たぶんちょうどフロントと小文字の最初の文字から「取得」削除し、すべてのメソッドを取得しますか?

ValuationEvent.getDeclaredMethods().collect{ 
    it.name.replace("get","").with{ it[0].toLowerCase() + it[1..-1] } 
}​ 
0

あなたは、プロパティ名をcollectことができます。

interface ValuationEvent { 
    String getType() 
    String getAggregateId() 
    String getXmlPayload() 
} 

def properties = ValuationEvent.metaClass.properties.collect { it.name } 

assert properties == ['type', 'aggregateId', 'xmlPayload'] 
関連する問題