package org.radargun.config;
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;
/**
* Class annotated with this can be instantiated from a sub-element in XML configuration.
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface DefinitionElement {
String name();
String doc();
ResolveType resolveType() default ResolveType.PASS_BY_MAP;
enum ResolveType {
/**
* The object should have properties resolved by transformation
* of the definition into map of property-definition.
*/
PASS_BY_MAP,
/**
* This class has only single property with empty name, and the definition
* should be passed directly to that property.
*/
PASS_BY_DEFINITION
}
}