com.artemis.annotations.AspectDescriptor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of artemis-odb Show documentation
Show all versions of artemis-odb Show documentation
Fork of Artemis Entity System Framework.
package com.artemis.annotations;
import com.artemis.*;
import java.lang.annotation.*;
/**
* Auto-configures fields pertaining to aspects. The annotated field
* must be one the following types: {@link Archetype}, {@link Aspect}, {@link Aspect.Builder},
* {@link EntitySubscription}, {@link EntityTransmuter}.
*
* This annotation works similar to {@link Wire}; fields are configured
* during {@link EntitySystem#initialize()}, or explicitly via {@link World#inject(Object)}.
*
* Note on EntityTransmuters/Archetypes
* all
and exclude
correspond to create/remove. Archetypes
* only feature create. Any types specified in one
are ignored.
*
* @see Wire
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
@Documented
public @interface AspectDescriptor {
/**
* @return required types
*/
Class extends Component>[] all() default {};
/**
* @return match at least one
*/
Class extends Component>[] one() default {};
/**
* @return excluding types
*/
Class extends Component>[] exclude() default {};
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy