Class JSONWrappedObject
- java.lang.Object
-
- com.fasterxml.jackson.databind.util.JSONWrappedObject
-
- All Implemented Interfaces:
JsonSerializable
public class JSONWrappedObject extends java.lang.Object implements JsonSerializable
General-purpose wrapper class that can be used to decorate serialized value with arbitrary literal prefix and suffix. This can be used for example to construct arbitrary Javascript values (similar to how basic function name and parenthesis are used with JSONP).- See Also:
JSONPObject
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
_prefix
Literal String to output before serialized value.protected JavaType
_serializationType
Optional static type to use for serialization; if null, runtime type is used.protected java.lang.String
_suffix
Literal String to output after serialized value.protected java.lang.Object
_value
Value to be serialized as JSONP padded; can be null.
-
Constructor Summary
Constructors Constructor Description JSONWrappedObject(java.lang.String prefix, java.lang.String suffix, java.lang.Object value)
JSONWrappedObject(java.lang.String prefix, java.lang.String suffix, java.lang.Object value, JavaType asType)
Constructor that should be used when specific serialization type to use is important, and needs to be passed instead of just using runtime (type-erased) type of the value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getPrefix()
JavaType
getSerializationType()
java.lang.String
getSuffix()
java.lang.Object
getValue()
void
serialize(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider)
Serialization method called when no additional type information is to be included in serialization.void
serializeWithType(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)
Serialization method called when additional type information is expected to be included in serialization, for deserialization to use.
-
-
-
Field Detail
-
_prefix
protected final java.lang.String _prefix
Literal String to output before serialized value. Will not be quoted when serializing value.
-
_suffix
protected final java.lang.String _suffix
Literal String to output after serialized value. Will not be quoted when serializing value.
-
_value
protected final java.lang.Object _value
Value to be serialized as JSONP padded; can be null.
-
_serializationType
protected final JavaType _serializationType
Optional static type to use for serialization; if null, runtime type is used. Can be used to specify declared type which defines serializer to use, as well as aspects of extra type information to include (if any).
-
-
Constructor Detail
-
JSONWrappedObject
public JSONWrappedObject(java.lang.String prefix, java.lang.String suffix, java.lang.Object value)
-
JSONWrappedObject
public JSONWrappedObject(java.lang.String prefix, java.lang.String suffix, java.lang.Object value, JavaType asType)
Constructor that should be used when specific serialization type to use is important, and needs to be passed instead of just using runtime (type-erased) type of the value.
-
-
Method Detail
-
serializeWithType
public void serializeWithType(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws java.io.IOException, com.fasterxml.jackson.core.JsonProcessingException
Description copied from interface:JsonSerializable
Serialization method called when additional type information is expected to be included in serialization, for deserialization to use.Usually implementation consists of a call to
TypeSerializer.writeTypePrefix(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.core.type.WritableTypeId)
followed by serialization of contents, followed by a call toTypeSerializer.writeTypeSuffix(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.core.type.WritableTypeId)
). Details of the type id argument to pass depend on shape of JSON Object used (Array, Object or scalar like String/Number/Boolean).Note that some types (most notably, "natural" types: String, Integer, Double and Boolean) never include type information.
- Specified by:
serializeWithType
in interfaceJsonSerializable
- Throws:
java.io.IOException
com.fasterxml.jackson.core.JsonProcessingException
-
serialize
public void serialize(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider) throws java.io.IOException, com.fasterxml.jackson.core.JsonProcessingException
Description copied from interface:JsonSerializable
Serialization method called when no additional type information is to be included in serialization.- Specified by:
serialize
in interfaceJsonSerializable
- Throws:
java.io.IOException
com.fasterxml.jackson.core.JsonProcessingException
-
getPrefix
public java.lang.String getPrefix()
-
getSuffix
public java.lang.String getSuffix()
-
getValue
public java.lang.Object getValue()
-
getSerializationType
public JavaType getSerializationType()
-
-