Class JsonMediaTypeFactory

java.lang.Object
org.refcodes.web.JsonMediaTypeFactory
All Implemented Interfaces:
org.refcodes.factory.MarshalFactory<String>, org.refcodes.factory.MarshalFactory.MarshalFactoryComplement<InputStream>, org.refcodes.factory.MarshalFactory.MarshalFactoryComposite<String,InputStream>, org.refcodes.factory.UnmarshalFactory<String>, org.refcodes.factory.UnmarshalFactory.UnmarshalFactoryComplement<InputStream>, org.refcodes.factory.UnmarshalFactory.UnmarshalFactoryComposite<String,InputStream>, MediaTypeFactory, MediaTypesAccessor

public class JsonMediaTypeFactory extends Object implements MediaTypeFactory
Implements the MediaTypeFactory for Media-Type "application/json" ( MediaType.APPLICATION_JSON). CAUTION: This implementation uses field resolution instead of getter/setter property resolution as of the used marshaling API.
  • Constructor Details

  • Method Details

    • getMediaTypes

      public MediaType[] getMediaTypes()
      Retrieves the Media-Types from the Media-Types property.
      Specified by:
      getMediaTypes in interface MediaTypesAccessor
      Returns:
      The Media-Types stored by the Media-Types property.
    • toMarshaled

      public String toMarshaled(Object aObject) throws org.refcodes.exception.MarshalException
      Specified by:
      toMarshaled in interface org.refcodes.factory.MarshalFactory<String>
      Throws:
      org.refcodes.exception.MarshalException
    • toUnmarshaled

      public <T> T toUnmarshaled(String aHttpBody, Class<T> aType) throws org.refcodes.exception.UnmarshalException
      Specified by:
      toUnmarshaled in interface org.refcodes.factory.UnmarshalFactory<String>
      Throws:
      org.refcodes.exception.UnmarshalException
    • toPlainJson

      protected String toPlainJson(String aJson)
      Removes any prefixed variable declaration.
      Parameters:
      aJson - The JSON from which to remove any prefixed variable declaration.
      Returns:
      The JSON without any prefixed variable declaration.
    • toUnboxed

      protected String toUnboxed(String aJson)
      Unboxes any enveloped JSON.
      Parameters:
      aJson - The JSON to be unboxed.
      Returns:
      The unboxed JSON.
    • toElementName

      protected String toElementName(Class<?> aClass)
      Creates an element name for the class.
      Parameters:
      aClass - The class from which to retrieve the element name.
      Returns:
      The element name for the class.
    • toVariableDeclaration

      protected String toVariableDeclaration(Class<?> aClass)
      Returns the JSON specific assignment declaration for the given class.
      Parameters:
      aClass - The class for which to construct the assignment declaration.
      Returns:
      The according assignment declaration.