Class ToAttributedValueConverter
java.lang.Object
com.thoughtworks.xstream.converters.extended.ToAttributedValueConverter
- All Implemented Interfaces:
Converter
,ConverterMatcher
Converter that supports the definition of one field member that will be written as value and
all other field members are written as attributes. The converter requires that all the field
types (expect the one with the value) are handled by a
SingleValueConverter
. The
value field is defined using the name of the type that declares the field and the field name
itself. Therefore it is possible to define an inherited field as value. It is also possible
to provide no value field at all, so that all fields are written as attributes.- Since:
- 1.4
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Mapper
private final ConverterLookup
private final Mapper
private final ReflectionProvider
private static final String
private final Class
private final Field
-
Constructor Summary
ConstructorsConstructorDescriptionToAttributedValueConverter
(Class type, Mapper mapper, ReflectionProvider reflectionProvider, ConverterLookup lookup) Creates a new ToAttributedValueConverter instance.ToAttributedValueConverter
(Class type, Mapper mapper, ReflectionProvider reflectionProvider, ConverterLookup lookup, String valueFieldName) Creates a new ToAttributedValueConverter instance.ToAttributedValueConverter
(Class type, Mapper mapper, ReflectionProvider reflectionProvider, ConverterLookup lookup, String valueFieldName, Class valueDefinedIn) Creates a new ToAttributedValueConverter instance. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canConvert
(Class type) Determines whether the converter can marshall a particular type.private boolean
fieldIsEqual
(FastField field) void
marshal
(Object source, HierarchicalStreamWriter writer, MarshallingContext context) Convert an object to textual data.unmarshal
(HierarchicalStreamReader reader, UnmarshallingContext context) Convert textual data back into an object.
-
Field Details
-
STRUCTURE_MARKER
- See Also:
-
type
-
mapper
-
enumMapper
-
reflectionProvider
-
lookup
-
valueField
-
-
Constructor Details
-
ToAttributedValueConverter
public ToAttributedValueConverter(Class type, Mapper mapper, ReflectionProvider reflectionProvider, ConverterLookup lookup) Creates a new ToAttributedValueConverter instance. All field elements will be attributes, the element itself will have no value.- Parameters:
type
- the type that is handled by this converter instancemapper
- the mapper in usereflectionProvider
- the reflection provider in uselookup
- the converter lookup in use- Since:
- 1.4.9
-
ToAttributedValueConverter
public ToAttributedValueConverter(Class type, Mapper mapper, ReflectionProvider reflectionProvider, ConverterLookup lookup, String valueFieldName) Creates a new ToAttributedValueConverter instance.- Parameters:
type
- the type that is handled by this converter instancemapper
- the mapper in usereflectionProvider
- the reflection provider in uselookup
- the converter lookup in usevalueFieldName
- the field defining the tag's value (may be null)
-
ToAttributedValueConverter
public ToAttributedValueConverter(Class type, Mapper mapper, ReflectionProvider reflectionProvider, ConverterLookup lookup, String valueFieldName, Class valueDefinedIn) Creates a new ToAttributedValueConverter instance.- Parameters:
type
- the type that is handled by this converter instancemapper
- the mapper in usereflectionProvider
- the reflection provider in uselookup
- the converter lookup in usevalueFieldName
- the field defining the tag's value (may be null)valueDefinedIn
- the type defining the field
-
-
Method Details
-
canConvert
Description copied from interface:ConverterMatcher
Determines whether the converter can marshall a particular type.- Specified by:
canConvert
in interfaceConverterMatcher
- Parameters:
type
- the Class representing the object type to be converted
-
marshal
Description copied from interface:Converter
Convert an object to textual data. -
unmarshal
Description copied from interface:Converter
Convert textual data back into an object. -
fieldIsEqual
-