jalse.entities.annotations.SetAttribute Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of JALSE Show documentation
Show all versions of JALSE Show documentation
Java Artificial Life Simulation Engine
package jalse.entities.annotations;
import jalse.attributes.AttributeContainer;
import jalse.attributes.AttributeType;
import jalse.entities.Entity;
import jalse.entities.functions.SetAttributeFunction;
import jalse.entities.methods.SetAttributeMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* An {@link Entity} type annotation for:
*
* - {@link AttributeContainer#setOptAttribute(String, AttributeType, Object)}
* - {@link AttributeContainer#setAttribute(String, AttributeType, Object)}
* - {@link AttributeContainer#removeOptAttribute(String, AttributeType)}
* - {@link AttributeContainer#removeAttribute(String, AttributeType)}
*
*
* See {@link SetAttributeFunction} for acceptable method signatures.
*
* @author Elliot Ford
*
* @see SetAttributeMethod
*
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SetAttribute {
/**
* Default name ({@code ""}).
*/
public static final String DEFAULT_NAME = "";
/**
* Attribute type name.
*
* @return Name.
*
* @see SetAttribute#DEFAULT_NAME
*/
String name() default DEFAULT_NAME;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy