ここにシナリオがあります:Eclipseのsupressコンパイラエラー - 回避策がありますか?
私は私のEclipseプロジェクトで構築したアノテーションを含むプログラムを持っています、それは 'フラグ'と呼ばれています。 'flag'アノテーションに 'id'要素があります ソケット接続を確立する 'connect'というメソッドがクラスにあります。 私は私が最終的に望むことは、次の
public class Foo {
@flag(id = 'slowConnection')
public boolean connect() {
// connect logic here...
}
@flag(id = 'mediumConnection')
public boolean connect() {
// medium connection logic here
}
@flag(id = 'fastConnection')
public boolean connect() {
// fast connection logic here
}
}
のようなものは私がすることができますされ、その前に「フラグ」注釈を配置することにより、connectメソッドに注釈を付け、それに「ID」今
public class Foo {
@flag(id = 'slowConnection')
public boolean connect() {
// connect logic here...
}
}
を与えますここで詳しく述べる。私の目的は、クラスへの入力パラメータに基づいて、コンパイル時に正しい 'connect'メソッドのみを含めることができるようにすることです。メソッドのオーバーロードは、メソッドのシグネチャを変更したくない場合でも、これを行うのと似た方法です。私はまた、継承がこれを行う方法であることを知っています。私は上記のコードを持っているときにEclipseは(正しくはそうです)、重複したメソッドがあると言っています。私はプログラムがコンパイルされる前に、「接続」のいずれかの方法ではなく、すべてのを取り除くためにいくつかのロジックを実行するように私はプログラムをコンパイル私は前に、Eclipseの上記を進めることができることをとにかくありますか? Eclipseの自動コンパイルを自動的に無効にする方法はありますか?任意のヒントやポインタが役立ちます。
ここに注釈を入れる必要はありません。これは純粋なJavaで答えごとに行うことができます。 – artbristol
コンパイル時には、ファクトリの代わりに依存関係注入を使うことができます(下記の回答を参照)。また、プロパティファイルを使って注入する接続のタイプを指定することもできます。 – Tnem
@Tem私はもう少し詳細を教えていただけますか? – Joeblackdev