Class ObjectToOpenTypeConverter

java.lang.Object
org.jolokia.service.serializer.object.ObjectToOpenTypeConverter
All Implemented Interfaces:
Converter<OpenType<?>>

public class ObjectToOpenTypeConverter extends Object implements Converter<OpenType<?>>

Dedicated Converter which specifies target type as OpenType. It handles null values and delegates non-null values to one of four implementations of OpenTypeConverter for this fixed list of :

Delegation to OpenTypeConverter introduces some constraints on the type of values that can be converted.

  • SimpleTypeConverter handles simple types and it delegates (back) to generic ObjectToObjectConverter.
  • ArrayTypeConverter handles multidimensional arrays of objects, so the value being converted has to be a Collection or a String parsed using JSONParser into a JSONArray.
  • CompositeTypeConverter handles Map values (possibly parsed from strings into JSONObject) and converts them to CompositeData according to information specified in CompositeType.
  • TabularDataConverter handles TabularType

Since:
02.08.11
Author:
Assaf Berg, roland
  • Field Details

    • forgiving

      protected final boolean forgiving
  • Constructor Details

    • ObjectToOpenTypeConverter

      public ObjectToOpenTypeConverter(Converter<String> pObjectToObjectConverter, boolean pForgiving)
      Constructor
      Parameters:
      pObjectToObjectConverter - converter for the leaf values which do not contain inner values.
  • Method Details

    • convert

      public Object convert(OpenType<?> pOpenType, Object pValue)
      Handle conversion for OpenTypes. The value is expected to be in JSON (either a JSONStructure object or its string representation.
      Specified by:
      convert in interface Converter<OpenType<?>>
      Parameters:
      pOpenType - target type
      pValue - value to convert from
      Returns:
      the converted value
    • isForgiving

      public boolean isForgiving()