Package esendex.sdk.java.parser
Class EsendexCasedEnumConverter
java.lang.Object
com.thoughtworks.xstream.converters.enums.EnumConverter
esendex.sdk.java.parser.EsendexCasedEnumConverter
- All Implemented Interfaces:
com.thoughtworks.xstream.converters.Converter
,com.thoughtworks.xstream.converters.ConverterMatcher
public class EsendexCasedEnumConverter
extends com.thoughtworks.xstream.converters.enums.EnumConverter
An Enum converter that converts xml element to Enum insensitive to case.
Enum to XML element conversion relies on Enum.toString() implementation.
- Author:
- Mike Whittaker
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
marshal
(Object source, com.thoughtworks.xstream.io.HierarchicalStreamWriter writer, com.thoughtworks.xstream.converters.MarshallingContext context) Enum to XML element conversion that relies on Enum.toString() implementation.unmarshal
(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context) Converts XML element to Enum insensitive to case.Methods inherited from class com.thoughtworks.xstream.converters.enums.EnumConverter
canConvert
-
Constructor Details
-
EsendexCasedEnumConverter
public EsendexCasedEnumConverter()
-
-
Method Details
-
marshal
public void marshal(Object source, com.thoughtworks.xstream.io.HierarchicalStreamWriter writer, com.thoughtworks.xstream.converters.MarshallingContext context) Enum to XML element conversion that relies on Enum.toString() implementation.- Specified by:
marshal
in interfacecom.thoughtworks.xstream.converters.Converter
- Overrides:
marshal
in classcom.thoughtworks.xstream.converters.enums.EnumConverter
- Parameters:
source
- the sourcewriter
- the writercontext
- the context
-
unmarshal
public Object unmarshal(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context) Converts XML element to Enum insensitive to case. Specifically, the element value is converted to uppercase and matched against available Enum values. This has the side effect that Enums must follow Java coding conventions and be declared in uppercase.- Specified by:
unmarshal
in interfacecom.thoughtworks.xstream.converters.Converter
- Overrides:
unmarshal
in classcom.thoughtworks.xstream.converters.enums.EnumConverter
- Parameters:
reader
- the readercontext
- the context- Returns:
- the object
-