package org.jgroups.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Used to include other schemas by {@link org.jgroups.util.XMLSchemaGenerator}. Example: * <pre> * {@literal @}XmlInclude(schema="relay.xsd",type=Type.IMPORT,namespace="urn:jgroups:relay:1.0",alias="relay") * </pre> * results in the following include in the schema element: * <pre> * <xs:schema... xmlns:relay="urn:jgroups:relay:1.0" /> * ... * <xs:import schemaLocation="fork-stacks.xsd" namespace="urn:jgroups:relay:1.0" /> * </pre> * @author Bela Ban * @since 3.5 */ @Retention(value=RetentionPolicy.RUNTIME) @Target(value=ElementType.TYPE) public @interface XmlInclude { Type type() default Type.INCLUDE; String[] schema() default {}; String namespace() default ""; // only used if type == IMPORT String alias() default ""; // only used if type == IMPORT enum Type {INCLUDE, IMPORT}; }