package com.delcyon.capo.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * * @author jeremiah * This is a class level annotation that takes effect on XMLSerialization. * It's purpose is to make sure that when we are using a pair of arrays as a simple map, that they get added * to the serialized XML in a logical way as attributes, and not as to separate arrays, that could get our of order. * Null values will NOT be serialized, so the placeholder for a key with a null value will be removed. The mapping code should handle this anyway */ @Retention(RetentionPolicy.RUNTIME) @Target(value={ElementType.TYPE}) public @interface XmlMappedArrays { /** * Name of the xml Element to contain the attributes * @return */ String name(); /** * Name of the array that contains the keys * @return */ String keys(); /** * Name of the array that contains the values * @return */ String values(); }