package com.tngtech.archunit.core.importer.testexamples.annotatedclassimport;
import java.io.Serializable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.util.List;
import com.tngtech.archunit.core.importer.testexamples.SomeEnum;
import static com.tngtech.archunit.core.importer.testexamples.SomeEnum.OTHER_VALUE;
import static com.tngtech.archunit.core.importer.testexamples.SomeEnum.SOME_VALUE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@Target(TYPE)
@Retention(RUNTIME)
public @interface TypeAnnotationWithEnumAndArrayValue {
SomeEnum value();
SomeEnum valueWithDefault() default SOME_VALUE;
SomeEnum[] enumArray();
SomeEnum[] enumArrayWithDefault() default {OTHER_VALUE};
SimpleAnnotation subAnnotation();
SimpleAnnotation subAnnotationWithDefault() default @SimpleAnnotation("default");
SimpleAnnotation[] subAnnotationArray();
SimpleAnnotation[] subAnnotationArrayWithDefault() default {@SimpleAnnotation("first"), @SimpleAnnotation("second")};
Class clazz();
Class clazzWithDefault() default String.class;
Class[] classes();
Class[] classesWithDefault() default {Serializable.class, List.class};
}