2

CodeModel を使用していくつかの Java クラスを生成する作業を行っていますが、静的 Enum が埋め込まれたクラスに import ステートメントを追加する際に問題が発生しています。

たとえば、クラスがあり、インスタンス変数を作成すると...

Class<?> clazz = getPackageClass();
cls.field(JMod.PRIVATE, codeModel._ref(sourceClass), "testUnderlying");

しかし、これは次のようなコードを作成します...

import com.test.platform.xxx.UnderlyingType;
....
private UnderlyingType testUnderlying;

ただし、UnderlyingType に列挙型フィールドがあり、静的メソッドを呼び出したい場合 (valueOf など)...

private UnderlyingType.EnumType enum;
...
...
UnderlyingType.EnumType.valueOf(xxx);

CodeModel を混乱させているようで、個別のインポートとインスタンス変数を取得する代わりに

private com.test.platform.xxx.UnderlyingType testUnderlying;

インポートを失うことなく静的メソッドを呼び出すことは可能ですか?

ご協力いただきありがとうございます!

4

1 に答える 1