Class GsonDataFormat

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.component.gson.GsonDataFormat
All Implemented Interfaces:
AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.DataFormat, org.apache.camel.spi.DataFormatContentTypeHeader, org.apache.camel.spi.DataFormatName, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

@Dataformat("gson") @Metadata(includeProperties="unmarshalType,unmarshalTypeName,prettyPrint,dateFormatPattern,contentTypeHeader") public class GsonDataFormat extends org.apache.camel.support.service.ServiceSupport implements org.apache.camel.spi.DataFormat, org.apache.camel.spi.DataFormatName, org.apache.camel.spi.DataFormatContentTypeHeader, org.apache.camel.CamelContextAware
Marshal POJOs to JSON and back using Gson
  • Constructor Details

    • GsonDataFormat

      public GsonDataFormat()
    • GsonDataFormat

      public GsonDataFormat(Class<?> unmarshalType)
      Use the default Gson Gson and with a custom unmarshal type
      Parameters:
      unmarshalType - the custom unmarshal type
    • GsonDataFormat

      @Deprecated public GsonDataFormat(Class<?> unmarshalType, com.google.gson.ExclusionStrategy... exclusionStrategies)
      Deprecated.
      use the setter instead
      Use the default Gson Gson and with a custom unmarshal type and ExclusionStrategy
      Parameters:
      unmarshalType - the custom unmarshal type
      exclusionStrategies - one or more custom ExclusionStrategy implementations
    • GsonDataFormat

      public GsonDataFormat(com.google.gson.Gson gson, Class<?> unmarshalType)
      Use a custom Gson mapper and and unmarshal type
      Parameters:
      gson - the custom mapper
      unmarshalType - the custom unmarshal type
    • GsonDataFormat

      public GsonDataFormat(Type unmarshalGenericType)
      Use the default Gson Gson and with a custom unmarshal generic type
      Parameters:
      unmarshalGenericType - the custom unmarshal generic type
    • GsonDataFormat

      public GsonDataFormat(com.google.gson.Gson gson, Type unmarshalGenericType)
      Use a custom Gson mapper and and unmarshal token type
      Parameters:
      gson - the custom mapper
      unmarshalGenericType - the custom unmarshal generic type
  • Method Details

    • getCamelContext

      public org.apache.camel.CamelContext getCamelContext()
      Specified by:
      getCamelContext in interface org.apache.camel.CamelContextAware
    • setCamelContext

      public void setCamelContext(org.apache.camel.CamelContext camelContext)
      Specified by:
      setCamelContext in interface org.apache.camel.CamelContextAware
    • getDataFormatName

      public String getDataFormatName()
      Specified by:
      getDataFormatName in interface org.apache.camel.spi.DataFormatName
    • marshal

      public void marshal(org.apache.camel.Exchange exchange, Object graph, OutputStream stream) throws Exception
      Specified by:
      marshal in interface org.apache.camel.spi.DataFormat
      Throws:
      Exception
    • unmarshal

      public Object unmarshal(org.apache.camel.Exchange exchange, InputStream stream) throws Exception
      Specified by:
      unmarshal in interface org.apache.camel.spi.DataFormat
      Throws:
      Exception
    • doInit

      protected void doInit() throws Exception
      Overrides:
      doInit in class org.apache.camel.support.service.BaseService
      Throws:
      Exception
    • doStart

      protected void doStart() throws Exception
      Overrides:
      doStart in class org.apache.camel.support.service.BaseService
      Throws:
      Exception
    • doStop

      protected void doStop() throws Exception
      Overrides:
      doStop in class org.apache.camel.support.service.BaseService
      Throws:
      Exception
    • getUnmarshalType

      public Class<?> getUnmarshalType()
    • setUnmarshalType

      public void setUnmarshalType(Class<?> unmarshalType)
    • getUnmarshalTypeName

      public String getUnmarshalTypeName()
    • setUnmarshalTypeName

      public void setUnmarshalTypeName(String unmarshalTypeName)
    • getUnmarshalGenericType

      public Type getUnmarshalGenericType()
    • setUnmarshalGenericType

      public void setUnmarshalGenericType(Type unmarshalGenericType)
    • getExclusionStrategies

      public List<com.google.gson.ExclusionStrategy> getExclusionStrategies()
    • setExclusionStrategies

      public void setExclusionStrategies(List<com.google.gson.ExclusionStrategy> exclusionStrategies)
    • getLongSerializationPolicy

      public com.google.gson.LongSerializationPolicy getLongSerializationPolicy()
    • setLongSerializationPolicy

      public void setLongSerializationPolicy(com.google.gson.LongSerializationPolicy longSerializationPolicy)
    • getFieldNamingPolicy

      public com.google.gson.FieldNamingPolicy getFieldNamingPolicy()
    • setFieldNamingPolicy

      public void setFieldNamingPolicy(com.google.gson.FieldNamingPolicy fieldNamingPolicy)
    • getFieldNamingStrategy

      public com.google.gson.FieldNamingStrategy getFieldNamingStrategy()
    • setFieldNamingStrategy

      public void setFieldNamingStrategy(com.google.gson.FieldNamingStrategy fieldNamingStrategy)
    • getSerializeNulls

      @Deprecated public Boolean getSerializeNulls()
      Deprecated.
      use isSerializeNulls() instead
    • isSerializeNulls

      public boolean isSerializeNulls()
    • setSerializeNulls

      @Deprecated public void setSerializeNulls(Boolean serializeNulls)
      Deprecated.
    • setSerializeNulls

      public void setSerializeNulls(boolean serializeNulls)
    • getPrettyPrinting

      @Deprecated public Boolean getPrettyPrinting()
      Deprecated.
      use isPrettyPrint() instead
    • isPrettyPrint

      public boolean isPrettyPrint()
    • setPrettyPrinting

      @Deprecated public void setPrettyPrinting(Boolean prettyPrinting)
      Deprecated.
    • setPrettyPrint

      public void setPrettyPrint(boolean prettyPrint)
    • getDateFormatPattern

      public String getDateFormatPattern()
    • setDateFormatPattern

      public void setDateFormatPattern(String dateFormatPattern)
    • isContentTypeHeader

      public boolean isContentTypeHeader()
    • setContentTypeHeader

      public void setContentTypeHeader(boolean contentTypeHeader)
      If enabled then Gson will set the Content-Type header to application/json when marshalling.
      Specified by:
      setContentTypeHeader in interface org.apache.camel.spi.DataFormatContentTypeHeader
    • getGson

      public com.google.gson.Gson getGson()