package com.github.czyzby.autumn.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** Basic annotation of components. These classes are scanned for, initiated and fully processed by the context
* initializer. Be careful NOT to annotate classes that you add to context manually: this might result in two components
* being mapped to the same class.
*
* @author MJ */
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface Component {
/** @return if not empty, this component will be injectable through these interfaces. This is a utility that allows
* to overcome the fact that LibGDX reflection does not allow to read class interfaces at runtime. */
Class<?>[] value() default {};
}