Javaで@Stub
,@Example
または@Mock
注釈を作成して、一部のクラスがテスト用であることを示したいとします。また、私は、それらのクラスを使用しないように、私のライブラリのユーザーには推奨しないようにしたいと思っています。私は@Nullable
とJSR305の他のアノテーションに似たものを作るのが好きです。Javaで@Deprecatedとして機能する@Stubアノテーションを作成します。
import javax.annotation.meta.TypeQualifierNickname;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.*;
@Deprecated
@Retention(RetentionPolicy.RUNTIME)
@TypeQualifierNickname
@Target(value=TYPE)
public @interface Stub {
}
とユースケース:
私はこの思い付いた
@Stub
public final class SuperAwesome implements Feature {
}
残念ながら、@TypeQualifierNickname
を使用してのdispiteは、それがのIntelliJとjavacで廃止予定として私@Stub
注釈がマークされるように縫い目ターゲットの注釈付きクラスの代わりにコンパイラ。
方法はありますか?これはjavacまたはIDEの変更を必要とせずに動作しますか?