Class NMJsonProvider
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected voidpreReadFrom(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 voidpreWriteTo(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
-
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:
preReadFromin classorg.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:
preWriteToin classorg.eclipse.persistence.jaxb.rs.MOXyJsonProvider- Throws:
javax.xml.bind.JAXBException
-