問題タブ [sun-codemodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Sun CodeModel - 複数のパラメータを持つ列挙型を作成する方法
Sun のコードモデルを使用して、次のコード スニペットのような列挙型クラスを作成したいと考えています。
列挙型のコンストラクター、フィールド、およびゲッター メソッドのコードを生成できました。しかし、enum 定数を 3 つの値で初期化できません。JDefinedClass には、enum 定数の名前のみをパラメーターとして受け取るメソッド enumConstant があります。JEnumConstant クラスのドキュメントも読みましたが、enum 定数に 3 つの値を追加するものは見つかりませんでした。
java - CodeModel Java API でアノテーションをオーバーライドする
@Override
codeModel を使用してメソッドに注釈を追加するにはどうすればよいですか?
@Override
クラスが見つかりませんでした。
java - CodeModel を使用して、第 2 レベルの抽象スーパークラスからメソッドを呼び出す方法は?
CodeModel 2.6 を使用しています。
getType( ) メソッドが JDefinedClass の 2 レベル上の抽象スーパークラスから継承されている場合、この命令をどのように生成すればよいでしょうか?
バックグラウンド:
- assertEquals(...) メソッドは、「import static org.junit.Assert.assertEquals;」から来ています。
- クラス階層は
- GeneraldocumenMetadata は ItemMetadata を拡張します
- ItemMetadata は AbstractItemMetadata を拡張します
- AbstractItemMetadata は getType() メソッドとプライベート タイプ フィールドを所有します
最終結果/望ましい方法は次のとおりです。
CodeModel メソッドは現時点ではこのようになっていますが、 "definedClass.getMethod("getType", new JType[] {}); " は null を返します
java - Java Codemodel - メソッドまたはクラスに注釈を付ける
CodeModel を使用してプログラムで .java ファイルを生成しています。これは、メソッドを作成するコードのスニペットです。
実行すると(他の必要なコードがすべてあると仮定します);
しかし、私はこのように上記の方法に注釈を付けたい:
以下の方法を試しました:
method.annotate(...) and method.annotate2(...)
しかし、これらのメソッドはクラス ファイルのみを引数として受け入れます (つまり、SomeClass.class の形式のように) が、引数として String を使用できるようにしたいと考えており、そのクラスは実行時に動的に使用できます。
次のようにできるとしますmethod.annotate("Path")
。
誰でも私を助けることができますか?
java - コードモデル / arg パラメーターの引用符 (")
codemodel(Sun) で次の式を作成しようとしています。
whatToclick は私の関数のパラメーターになります。
そこで次のように書きました。
私には2つの問題があります:
whatToClick をパラメーターとして入れることができません。それは常に引用符で囲まれています (私の式は文字列であり、 を入力する必要があるため
/"
、そうでない場合は文字列を閉じます。)表情は
click()
パーツなしで作成されます。
何か助けはありますか?
java - codemodel ライブラリを使用してループと条件を生成する方法
私は Suns コードモデル ライブラリの使用方法を学ぼうとしてきましたが、 for ループと if-else ブロックの生成に完全に困惑しています。if-else ブロックと for ループの条件を生成する方法だけでなく、これらの本体を生成する方法にも苦労しています。
例えば:
ループの場合:
code-generation - CodeModel / JMethod.body() によるジンボケーション
次の JInvocation があります。
場所anotherPageInstance
はJVar
、方法はJMethod
です。
これに対していくつかのアクションを実行してから、 test がある場所JInvocation
に追加します。test.body().invoke
JMethod
主な問題は、引数としてtest.body().invoke
取得するオプションがないため、できないことです。JInvocation
私は次のことを行うことができます: 、test.body().invoke(anotherPageInstance, method)
しかし、これは役に立たない. )。JInvocation
Jinvocation
JInvocation
何か助けはありますか?