問題タブ [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.

0 投票する
1 に答える
1305 参照

java - Sun CodeModel - 複数のパラメータを持つ列挙型を作成する方法

Sun のコードモデルを使用して、次のコード スニペットのような列挙型クラスを作成したいと考えています。

列挙型のコンストラクター、フィールド、およびゲッター メソッドのコードを生成できました。しかし、enum 定数を 3 つの値で初期化できません。JDefinedClass には、enum 定数の名前のみをパラメーターとして受け取るメソッド enumConstant があります。JEnumConstant クラスのドキュメントも読みましたが、enum 定数に 3 つの値を追加するものは見つかりませんでした。

0 投票する
1 に答える
486 参照

java - CodeModel Java API でアノテーションをオーバーライドする

@OverridecodeModel を使用してメソッドに注釈を追加するにはどうすればよいですか?

@Overrideクラスが見つかりませんでした。

0 投票する
1 に答える
3426 参照

java - CodeModel を使用して、第 2 レベルの抽象スーパークラスからメソッドを呼び出す方法は?

CodeModel 2.6 を使用しています。

getType( ) メソッドが JDefinedClass の 2 レベル上の抽象スーパークラスから継承されている場合、この命令をどのように生成すればよいでしょうか?

バックグラウンド:

  1. assertEquals(...) メソッドは、「import static org.junit.Assert.assertEquals;」から来ています。
  2. クラス階層は
    • GeneraldocumenMetadata は ItemMetadata を拡張します
    • ItemMetadata は AbstractItemMetadata を拡張します
    • AbstractItemMetadata は getType() メソッドとプライベート タイプ フィールドを所有します

最終結果/望ましい方法は次のとおりです。

CodeModel メソッドは現時点ではこのようになっていますが、 "definedClass.getMethod("getType", new JType[] {}); " は null を返します

0 投票する
5 に答える
2745 参照

java - Java Codemodel - メソッドまたはクラスに注釈を付ける

CodeModel を使用してプログラムで .java ファイルを生成しています。これは、メソッドを作成するコードのスニペットです。

実行すると(他の必要なコードがすべてあると仮定します);

しかし、私はこのように上記の方法に注釈を付けたい:

以下の方法を試しました: method.annotate(...) and method.annotate2(...)

しかし、これらのメソッドはクラス ファイルのみを引数として受け入れます (つまり、SomeClass.class の形式のように) が、引数として String を使用できるようにしたいと考えており、そのクラスは実行時に動的に使用できます。

次のようにできるとしますmethod.annotate("Path")

誰でも私を助けることができますか?

0 投票する
1 に答える
182 参照

java - コードモデル / arg パラメーターの引用符 (")

codemodel(Sun) で次の式を作成しようとしています。

whatToclick は私の関数のパラメーターになります。

そこで次のように書きました。

私には2つの問題があります:

  1. whatToClick をパラメーターとして入れることができません。それは常に引用符で囲まれています (私の式は文字列であり、 を入力する必要があるため/"、そうでない場合は文字列を閉じます。)

  2. 表情はclick()パーツなしで作成されます。

何か助けはありますか?

0 投票する
1 に答える
2074 参照

java - codemodel ライブラリを使用してループと条件を生成する方法

私は Suns コードモデル ライブラリの使用方法を学ぼうとしてきましたが for ループと if-else ブロックの生成に完全に困惑しています。if-else ブロックと for ループの条件を生成する方法だけでなく、これらの本体を生成する方法にも苦労しています。

例えば:

ループの場合:

0 投票する
2 に答える
258 参照

code-generation - CodeModel / JMethod.body() によるジンボケーション

次の JInvocation があります。

場所anotherPageInstanceJVar、方法はJMethodです。

これに対していくつかのアクションを実行してから、 test がある場所JInvocationに追加します。test.body().invokeJMethod

主な問題は、引数としてtest.body().invoke取得するオプションがないため、できないことです。JInvocation

私は次のことを行うことができます: 、test.body().invoke(anotherPageInstance, method)しかし、これは役に立たない. )。JInvocationJinvocationJInvocation

何か助けはありますか?