package ecologylab.serialization.annotations; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** * Metalanguage declaration that can be applied either to field or to class declarations. * * Annotation that tells ecologylab.serialization translators that instead of generating a name * for XML elements corresponding to the field or class using camel case conversion, one is * specified explicitly. This name is specified by the value of this annotation. * <p/> * Note that programmers should be careful when specifying an xml_tag, to ensure that there are no * collisions with other names. Note that when an xml_tag is specified for a field or class, it * will ALWAYS EMIT AND TRANSLATE FROM USING THAT NAME. * * xml_tag's should typically be something that cannot be represented using camel case name * conversion, such as utilizing characters that are not normally allowed in field names, but that * are allowed in XML names. This can be particularly useful for building ElementState objects out * of XML from the wild. * <p/> * You cannot use XML-forbidden characters or constructs in an xml_tag! * * When using @simpl_tag, you MUST create your corresponding TranslationSpace entry using a Class * object, instead of using a default package name. * * @author Zachary O. Toups (toupsz@cs.tamu.edu) */ @Retention(RetentionPolicy.RUNTIME) public @interface simpl_tag { String value(); }