package com.lhkbob.entreri;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Requires {
    Class<? extends ComponentData<?>>[] value();
}

@@ -224,16 +224,754 @@
 arget;%0A%0A
+/**%0A * %3Cp%3E%0A * The Requires annotation can be used to specify dependencies within a package%0A * of components. If one component requires the use of another, such as a scene%0A * or light component needing a transform, this can be a convenient way to%0A * specify this relationship and reduce the amount of explicit configuration%0A * during entity initialization.%0A * %3Cp%3E%0A * When a component type that has been annotated with this annotation is added%0A * to an entity, all required component types that are not already attached to%0A * the entity are added. All newly added components have their owner set to the%0A * initial component so that when it's removed, the required components are%0A * cleaned up as well.%0A * %0A * @author Michael Ludwig%0A * %0A */%0A
 @Documen
@@ -1065,16 +1065,112 @@
 uires %7B%0A
+    /**%0A     * @return All ComponentData types required by the annotated component type%0A     */%0A
     Clas

Document Requires annotation