2011-07-28 7 views
1

com.sun.codemodelで生成されたコードで3進演算子を使用できますか?コードモデルの三項演算子のサポート?

私は、次のステートメントを生成したい:

this((A==null)?A.getSomething:null) 
+1

'(A == null)?A.getSomething:null'それでAがnullであれば、そのメソッドを呼び出しますか?おお! – Thomas

+2

これは、条件(または、他のオペランドを入れ替えたもの)に 'A!= null'を使うことを前提としています。 –

+0

@Paulo、それは失敗するように設計されたコードなので、私は願っています – RMT

答えて

2

com.sun.codemodel.JOp.condすでに三項演算子を生成する必要があります。 sourceを参照してください:

public static JExpression cond(JExpression cond, JExpression ifTrue, JExpression ifFalse) { 
    return new TernaryOp("?", ":", cond, ifTrue, ifFalse); 
}