java.lang.Object
org.eclipse.persistence.jaxb.rs.MOXyJsonProvider
org.apache.hadoop.yarn.server.nodemanager.webapp.jsonprovider.NMJsonProvider
All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<Object>, javax.ws.rs.ext.MessageBodyWriter<Object>

@Provider @Produces("application/json") @Consumes("application/json") public class NMJsonProvider extends org.eclipse.persistence.jaxb.rs.MOXyJsonProvider
MOXy JSON provider for NodeManager WebService.

This class configures a MOXy JSON provider for the NodeManager REST API endpoints. The endpoints should be able to provide two types of JSON responses:

  • Wrapped classes – classes whose JSON representation includes a root wrapper element.
  • Unwrapped classes – classes whose JSON representation omits a root wrapper element.

This behaviour can be configured by the MarshallerProperties.JSON_INCLUDE_ROOT property. By default NodeManager REST API endpoints should include the root wrapper element in the responses, however there are some exceptions (e.g. ContainerLogsInfoes class) which was introduced to provide backward-compatibility with the Jersey 1 response format.

  • Field Summary

    Fields inherited from class org.eclipse.persistence.jaxb.rs.MOXyJsonProvider

    providers
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    preReadFrom(Class<Object> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,String> httpHeaders, javax.xml.bind.Unmarshaller unmarshaller)
     
    protected void
    preWriteTo(Object object, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, javax.xml.bind.Marshaller marshaller)
     

    Methods inherited from class org.eclipse.persistence.jaxb.rs.MOXyJsonProvider

    getAttributePrefix, getDomainClass, getDomainClasses, getJAXBContext, getNamespacePrefixMapper, getNamespaceSeparator, getSize, getValueWrapper, isFormattedOutput, isIncludeRoot, isMarshalEmptyCollections, isReadable, isWrapperAsArrayName, isWriteable, readFrom, setAttributePrefix, setFormattedOutput, setIncludeRoot, setMarshalEmptyCollections, setNamespacePrefixMapper, setNamespaceSeparator, setValueWrapper, setWrapperAsArrayName, supportsMediaType, writeTo

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NMJsonProvider

      public NMJsonProvider()
  • Method Details

    • preReadFrom

      protected void preReadFrom(Class<Object> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,String> httpHeaders, javax.xml.bind.Unmarshaller unmarshaller) throws javax.xml.bind.JAXBException
      Overrides:
      preReadFrom in class org.eclipse.persistence.jaxb.rs.MOXyJsonProvider
      Throws:
      javax.xml.bind.JAXBException
    • preWriteTo

      protected void preWriteTo(Object object, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, javax.xml.bind.Marshaller marshaller) throws javax.xml.bind.JAXBException
      Overrides:
      preWriteTo in class org.eclipse.persistence.jaxb.rs.MOXyJsonProvider
      Throws:
      javax.xml.bind.JAXBException