org.jboss.resteasy.annotations.providers.jaxb.Wrapped Maven / Gradle / Ivy
package org.jboss.resteasy.annotations.providers.jaxb;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Put this on a method or parameter when you want to marshal or unmarshal a collection or array of JAXB objects
*
* i.e.
*
*
* {@literal @}PUT
* {@literal @}Consumes("application/xml") public void put(@Wrapped User[] users);
*
*
* User is a jaxb annotated class. The input should be:
*
* {@literal <}resteasy:collection xmlns:resteasy="http://jboss.org/resteasy" xmlns:ns2="whatever"{@literal >}
* {@literal <}ns2:user{@literal >}...{@literal <}/ns2:user{@literal >}
* {@literal <}ns2:user{@literal >}...{@literal <}/ns2:user{@literal >}
* {@literal <}/resteasy:collection{@literal >}
*
* or
* {@literal @}GET
* {@literal @}Wrapped public User[] getUsers();
*
* @author Bill Burke
* @version $Revision: 1 $
*/
@Target({ ElementType.PARAMETER, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Wrapped {
String element() default "collection";
String namespace() default "";
String prefix() default "";
}