package com.eucalyptus.util;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Declares that this annotated class is backed by data from the specified list of classes.
* @author decker
*/
@Target({ ElementType.TYPE, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Composite {
/**
* Map the intersection of the fields of the specified classes onto this object.
* The ordering of the Class[] entries determines the precedence of getting the original value.
* All value writes propagate to each class type.
* @return
*/
Class[] value();
}