1   package com.atlassian.plugins.rest.common.json;
2   
3   import com.sun.jersey.api.json.JSONJAXBContext;
4   import com.sun.jersey.json.impl.JSONMarshaller;
5   
6   import java.io.StringWriter;
7   import javax.xml.bind.JAXBException;
8   
9   public class DefaultJaxbJsonMarshaller implements JaxbJsonMarshaller
10  {
11      public String marshal(final Object jaxbBean, final Class... jaxbClasses) throws JAXBException
12      {
13          final JsonJaxbContextFactory contextFaxtory = new DefaultJsonJaxbContextFactory();
14          final JSONJAXBContext jsonjaxbContext = contextFaxtory.createContext(jaxbClasses);
15          final StringWriter out = new StringWriter();
16          final JSONMarshaller marshaller = (JSONMarshaller) jsonjaxbContext.createMarshaller();
17          marshaller.setJsonEnabled(true);
18          marshaller.marshal(jaxbBean, out);
19          return out.toString();
20      }
21  }