package jalse.entities.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import jalse.entities.Entity;
import jalse.entities.functions.MarkAsTypeFunction;
import jalse.entities.methods.MarkAsTypeMethod;
/**
* An {@link Entity} type annotation for {@link Entity#markAsType(Class)}.<br>
* <br>
* See {@link MarkAsTypeFunction} for acceptable method signatures.
*
* @author Elliot Ford
*
* @see MarkAsTypeMethod
*
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MarkAsType {
/**
* Entity type to mark.
*
* @return Entity type.
*/
Class<? extends Entity>value();
}