All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.artemis.annotations.PackedWeaver Maven / Gradle / Ivy

There is a newer version: 2.3.0
Show newest version
package com.artemis.annotations;

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;

import com.artemis.Component;

/**
 * Transforms a {@link Component} into a {@link com.artemis.PackedComponent}. Component transformation
 * takes place during the artemis goal defined in artemis-odb-maven-plugin
 * or the weave task in artemis-odb-gradle-plugin.
 *
 * @see PackedWeaver
 *	  on the wiki.
 */
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.TYPE)
@Documented
public @interface PackedWeaver {
	
	// Note: these will be activate when weaving with sun.misc.Unsafe becomes an option.
	
//	WorldStrategy usage() default WorldStrategy.GLOBAL_CONFIGURATION;
//	DataStrategy strategy() default DataStrategy.GLOBAL_CONFIGURATION;
//	
//	public static enum WorldStrategy {
//		/**
//		 * World strategy is inferred from global configuration.
//		 * It is only ever necessary to override this value when certain components
//		 * can benefit from different weaver strategies.
//		 * 

// * Defaults to {@link WorldStrategy#SINGLE_WORLD} when no value is given. // *

// * TODO: implement + proper example // */ // GLOBAL_CONFIGURATION, // // /** // * Component is present in multiple worlds simultaneously. Slower than {@link WorldStrategy#SINGLE_WORLD}. // */ // MULTI_WORLD, // // /** // * Only one world instance with this component is present at any one time. // */ // SINGLE_WORLD; // } // // public static enum DataStrategy { // GLOBAL_CONFIGURATION, // BYTEBUFFER, // SUN_MISC_UNSAFE; // } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy