org.glassfish.jersey.media.htmljson
Class HtmlJsonProvider

java.lang.Object
  extended by org.glassfish.jersey.media.htmljson.HtmlJsonProvider
All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<Object>, javax.ws.rs.ext.MessageBodyWriter<Object>

public final class HtmlJsonProvider
extends Object
implements javax.ws.rs.ext.MessageBodyWriter<Object>, javax.ws.rs.ext.MessageBodyReader<Object>

Implementation of Jersey's message body reader and writer that can handle reading and writing of JSON models generated by Model annotation provided by net.java.html.json library. Include this JAR in your project and you can then use your model classes as Jersey's entities.

 @Model(className="Query", properties={
   @Property(name="items", type=Item.class, array=true)
 })
 class QueryImpl {

   @Model(className="Item", properties={
     @Property(name="id", type=String.class),
     @Property(name="kind", type=Kind.class)
   })
   class ItemImpl {
   }

   enum Kind {
     GOOD, BAD
   }

   public static List<Item> doQuery() {
     WebTarget target = ...;
     Query q = target.request(MediaType.APPLICATION_JSON).get().readEntity(Query.class);
     return q.getItems();
   }
 }
 

Author:
Jaroslav Tulach (jtulach at netbeans.org)

Constructor Summary
HtmlJsonProvider()
           
 
Method Summary
 long getSize(Object t, Class type, Type type1, Annotation[] antns, javax.ws.rs.core.MediaType mt)
           
 boolean isReadable(Class<?> type, Type type1, Annotation[] antns, javax.ws.rs.core.MediaType mt)
           
 boolean isWriteable(Class type, Type type1, Annotation[] antns, javax.ws.rs.core.MediaType mt)
           
 Object readFrom(Class<Object> type, Type type1, Annotation[] antns, javax.ws.rs.core.MediaType mt, javax.ws.rs.core.MultivaluedMap<String,String> mm, InputStream in)
           
 void writeTo(Object t, Class type, Type type1, Annotation[] antns, javax.ws.rs.core.MediaType mt, javax.ws.rs.core.MultivaluedMap mm, OutputStream out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HtmlJsonProvider

public HtmlJsonProvider()
Method Detail

isWriteable

public boolean isWriteable(Class type,
                           Type type1,
                           Annotation[] antns,
                           javax.ws.rs.core.MediaType mt)
Specified by:
isWriteable in interface javax.ws.rs.ext.MessageBodyWriter<Object>

getSize

public long getSize(Object t,
                    Class type,
                    Type type1,
                    Annotation[] antns,
                    javax.ws.rs.core.MediaType mt)
Specified by:
getSize in interface javax.ws.rs.ext.MessageBodyWriter<Object>

writeTo

public void writeTo(Object t,
                    Class type,
                    Type type1,
                    Annotation[] antns,
                    javax.ws.rs.core.MediaType mt,
                    javax.ws.rs.core.MultivaluedMap mm,
                    OutputStream out)
             throws IOException,
                    javax.ws.rs.WebApplicationException
Specified by:
writeTo in interface javax.ws.rs.ext.MessageBodyWriter<Object>
Throws:
IOException
javax.ws.rs.WebApplicationException

isReadable

public boolean isReadable(Class<?> type,
                          Type type1,
                          Annotation[] antns,
                          javax.ws.rs.core.MediaType mt)
Specified by:
isReadable in interface javax.ws.rs.ext.MessageBodyReader<Object>

readFrom

public Object readFrom(Class<Object> type,
                       Type type1,
                       Annotation[] antns,
                       javax.ws.rs.core.MediaType mt,
                       javax.ws.rs.core.MultivaluedMap<String,String> mm,
                       InputStream in)
                throws IOException,
                       javax.ws.rs.WebApplicationException
Specified by:
readFrom in interface javax.ws.rs.ext.MessageBodyReader<Object>
Throws:
IOException
javax.ws.rs.WebApplicationException


Copyright © 2007-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.