package juzu.impl.bridge.request; import juzu.impl.common.Tools; import juzu.impl.request.ContextualParameter; import juzu.impl.request.EntityUnmarshaller; import juzu.request.ClientContext; import juzu.request.RequestParameter; import java.io.IOException; import java.util.Map; /** * @author Julien Viet */ public class FooReader extends EntityUnmarshaller { public boolean accept(String mediaType) { return mediaType.startsWith("text/foo"); } public void unmarshall(String mediaType, ClientContext context, Iterable<Map.Entry<ContextualParameter, Object>> contextualArguments, Map<String, RequestParameter> parameterArguments) throws IOException { byte[] data = Tools.bytes(context.getInputStream()); Foo foo = new Foo(data); for (Map.Entry<ContextualParameter, Object> parameter : contextualArguments) { if (parameter.getKey().getType().equals(Foo.class)) { parameter.setValue(foo); break; } } } }