できます。これはJacksonライブラリ(コメントを残す)からの例です:
package com.fasterxml.jackson.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE, ElementType.FIELD,
ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotation
public @interface JsonSubTypes {
public Type[] value();
public @interface Type {
/**
* Class of the subtype
*/
public Class<?> value();
/**
* Logical type name used as the type identifier for the class
*/
public String name() default "";
}
}
そして、ここでは使用例です:
@JsonSubTypes({
@JsonSubTypes.Type(value = TestSystemEvent.class, name = "TestEvent"),
})
public interface SystemEvent {
}
これを使用するフレームワークを作成する予定ですか? –
'MyAnnotation'は' SomeType'から派生していますか? (そう、私はそうは思わなかった)。次に、 'SomeType'型の*ではない*要素を含む' SomeType'の配列を作成するにはどうしますか? –
@TimBiegeleisenはい。 – Sayid