Interface Converter<T>
-
- Type Parameters:
T- type of objects handled by this converter.
- All Superinterfaces:
Deserializer<T>,Serializer<T>
- All Known Implementing Classes:
BeanDescriptor,BeanViewConverter,ClassConverter,ClassMetadataConverter,ComparableConverter,DefaultConverters.ArrayConverter,DefaultConverters.ArrayDequeConverter,DefaultConverters.BigDecimalConverter,DefaultConverters.BigIntegerConverter,DefaultConverters.BooleanConverter,DefaultConverters.ByteArrayAsIntArrayConverter,DefaultConverters.ByteArrayConverter,DefaultConverters.ByteConverter,DefaultConverters.CalendarConverter,DefaultConverters.CharConverter,DefaultConverters.CollectionConverter,DefaultConverters.ComplexMapConverter,DefaultConverters.DateConverter,DefaultConverters.DoubleConverter,DefaultConverters.EnumConverter,DefaultConverters.EnumSetConverter,DefaultConverters.FileConverter,DefaultConverters.FloatConverter,DefaultConverters.HashMapConverter,DefaultConverters.HashTableConverter,DefaultConverters.IntegerConverter,DefaultConverters.LinkedHashMapConverter,DefaultConverters.LinkedHashSetConverter,DefaultConverters.LinkedListConverter,DefaultConverters.LongConverter,DefaultConverters.MapConverter,DefaultConverters.NumberConverter,DefaultConverters.OptionalConverter,DefaultConverters.OptionalDoubleConverter,DefaultConverters.OptionalIntConverter,DefaultConverters.OptionalLongConverter,DefaultConverters.PriorityQueueConverter,DefaultConverters.PropertiesConverter,DefaultConverters.SetConverter,DefaultConverters.ShortConverter,DefaultConverters.StringConverter,DefaultConverters.TimestampConverter,DefaultConverters.TreeMapConverter,DefaultConverters.TreeSetConverter,DefaultConverters.UntypedConverterFactory.UntypedConverter,DefaultConverters.URIConverter,DefaultConverters.URLConverter,DefaultConverters.UUIDConverter,DefaultConverters.WrappedRootValueConverter,EnumConverter,InetAddressConverter,InetSocketAddressConverter,JsonObjectConverter,JSR353Bundle.JsonValueConverter,MapConverter,MissingClassConverter,NullSetConverter,OffsetDateTimeConverter,RuntimeTypeConverter,SerializationSupportConverter,ThrowableConverter,ZonedDateTimeConverter
public interface Converter<T> extends Serializer<T>, Deserializer<T>
Converter interface is a shorthand for classes who want to implement both serialization and deserialization. You should always privilege Converter instead of low level Serializer and Deseriliazer as they will be wrapped into a converter and all the ChainedFactory mechanism is designed for converters. Here is an example of a Converter of URLs.Genson genson = new Genson.Builder().with(new Converter<URL>() { @Override public void serialize(URL url, ObjectWriter writer, Context ctx) { // you don't have to worry about null objects, as the library will handle them. writer.writeValue(obj.toExternalForm()); } @Override public URL deserialize(ObjectReader reader, Context ctx) { return new URL(reader.valueAsString()); } }).create(); String serializedUrl = genson.serialize(new URL("http://www.google.com")); URL url = genson.deserialize(serializedUrl, URL.class);As you can see it is quite straightforward to create and register new Converters. Here is an example dealing with more complex objects.- Author:
- Eugen Cepoi
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Tdeserialize(ObjectReader reader, Context ctx)voidserialize(T object, ObjectWriter writer, Context ctx)
-
-
-
Method Detail
-
serialize
void serialize(T object, ObjectWriter writer, Context ctx) throws Exception
- Specified by:
serializein interfaceSerializer<T>- Parameters:
object- we want to serialize. The object is of type T or a subclass (if this serializer has been registered for subclasses).writer- to use to write data to the output stream.ctx- the current context.- Throws:
JsonBindingExceptionJsonStreamExceptionException
-
deserialize
T deserialize(ObjectReader reader, Context ctx) throws Exception
- Specified by:
deserializein interfaceDeserializer<T>- Parameters:
reader- used to read data from.ctx- the current context.- Returns:
- an instance of T or a subclass of T.
- Throws:
JsonBindingExceptionJsonStreamExceptionException
-
-