Package org.jibx.binding.def
Class ObjectStringConversion
- java.lang.Object
-
- org.jibx.binding.def.StringConversion
-
- org.jibx.binding.def.ObjectStringConversion
-
public class ObjectStringConversion extends StringConversion
Object string conversion handling. Defines serialization handling for converting objects to and from aStringvalue. The default is to just use the objecttoString()method for serialization and a constructor from aStringvalue for deserialization.java.lang.Stringitself is a special case, with no added code used by default for either serializing or deserializing.java.lang.Objectis also a special case, with no added code used by default for deserializing (theStringvalue is used directly). Other classes must either implementtoString()and a constructor fromString, or use custom serializers and/or deserializers.- Author:
- Dennis M. Sosnoski
-
-
Field Summary
-
Fields inherited from class org.jibx.binding.def.StringConversion
COMPARE_OBJECTS_METHOD, COMPARE_OBJECTS_SIGNATURE, DESERIALIZER_SIGNATURES, m_converter, m_default, m_deserializer, m_serializer, m_typeName, m_typeSignature, MARSHAL_ATTRIBUTE, MARSHAL_ELEMENT, MARSHAL_NAME_VALUES, MARSHAL_SIGNATURE, UNMARSHAL_OPT_ATTRIBUTE, UNMARSHAL_OPT_ELEMENT, UNMARSHAL_OPT_SIGNATURE, UNMARSHAL_REQ_ATTRIBUTE, UNMARSHAL_REQ_ELEMENT, UNMARSHAL_REQ_SIGNATURE, WHITESPACE_CONVERT_SIGNATURES
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ObjectconvertDefault(String text)Convert text representation into default value object.StringConversionderive(String type, String ser, String conv, String dser, String dflt)Derive from existing formatting information.voidgenFromText(ContextMethodBuilder mb)Generate code to convertStringrepresentation.voidgenParseOptional(boolean attr, ContextMethodBuilder mb)Generate code to parse and convert optional attribute or element.voidgenParseRequired(boolean attr, ContextMethodBuilder mb)Generate code to parse and convert required attribute or element.protected BranchWrappergenToOptionalText(String type, ContextMethodBuilder mb, int extra)Generate code to check if an optional value is not equal to the default.voidgenToText(String type, ContextMethodBuilder mb)Shared code generation for converting instance of type toString.booleanisPrimitive()Check if the type handled by this conversion is of a primitive type.-
Methods inherited from class org.jibx.binding.def.StringConversion
genPopValues, genWriteOptional, genWriteRequired, genWriteText, getTypeName, setDeserializer, setSerializer, setWhitespaceConverter
-
-
-
-
Method Detail
-
genFromText
public void genFromText(ContextMethodBuilder mb) throws org.jibx.runtime.JiBXException
Generate code to convertStringrepresentation. The code generated by this method assumes that theStringvalue has already been pushed on the stack. It consumes this and leaves the converted value on the stack.- Specified by:
genFromTextin classStringConversion- Parameters:
mb- method builder- Throws:
org.jibx.runtime.JiBXException- Error if no de-serializer
-
genParseOptional
public void genParseOptional(boolean attr, ContextMethodBuilder mb) throws org.jibx.runtime.JiBXExceptionGenerate code to parse and convert optional attribute or element. The code generated by this method assumes that the unmarshalling context and name information for the attribute or element have already been pushed on the stack. It consumes these and leaves the converted value (or converted default value, if the item itself is missing) on the stack.- Specified by:
genParseOptionalin classStringConversion- Parameters:
attr- item is an attribute (vs element) flagmb- method builder- Throws:
org.jibx.runtime.JiBXException- if error in configuration
-
genParseRequired
public void genParseRequired(boolean attr, ContextMethodBuilder mb) throws org.jibx.runtime.JiBXExceptionGenerate code to parse and convert required attribute or element. The code generated by this method assumes that the unmarshalling context and name information for the attribute or element have already been pushed on the stack. It consumes these and leaves the converted value on the stack.- Specified by:
genParseRequiredin classStringConversion- Parameters:
attr- item is an attribute (vs element) flagmb- method builder- Throws:
org.jibx.runtime.JiBXException- if error in configuration
-
genToText
public void genToText(String type, ContextMethodBuilder mb) throws org.jibx.runtime.JiBXException
Shared code generation for converting instance of type toString. This override of the base class method checks for serialization using thetoStringmethod and implements that case directly, while calling the base class method for normal handling. The code generated by this method assumes that the reference to the instance to be converted is on the stack. It consumes the reference, replacing it with the correspondingStringvalue.- Overrides:
genToTextin classStringConversion- Parameters:
type- fully qualified class name for value on stackmb- marshal method builder- Throws:
org.jibx.runtime.JiBXException- if error in configuration
-
genToOptionalText
protected BranchWrapper genToOptionalText(String type, ContextMethodBuilder mb, int extra) throws org.jibx.runtime.JiBXException
Generate code to check if an optional value is not equal to the default. The code generated by this method assumes that the actual value to be converted has already been pushed on the stack. It consumes this, leaving the converted text reference on the stack if it's not equal to the default value.- Specified by:
genToOptionalTextin classStringConversion- Parameters:
type- fully qualified class name for value on stackmb- method builderextra- count of extra values to be popped from stack if missing- Returns:
- handle for branch taken when value is equal to the default (target must be set by caller)
- Throws:
org.jibx.runtime.JiBXException- if error in configuration
-
isPrimitive
public boolean isPrimitive()
Check if the type handled by this conversion is of a primitive type.- Specified by:
isPrimitivein classStringConversion- Returns:
falseto indicate object type
-
convertDefault
protected Object convertDefault(String text) throws org.jibx.runtime.JiBXException
Convert text representation into default value object. For object types this just returns the text value.- Specified by:
convertDefaultin classStringConversion- Parameters:
text- value representation to be converted- Returns:
- converted default value object
- Throws:
org.jibx.runtime.JiBXException- on conversion error
-
derive
public StringConversion derive(String type, String ser, String conv, String dser, String dflt) throws org.jibx.runtime.JiBXException
Derive from existing formatting information. This allows constructing a new instance from an existing format of the same or an ancestor type, with the properties of the existing format copied to the new instance except where overridden by the supplied values.- Specified by:
derivein classStringConversion- Parameters:
type- fully qualified name of class handled by conversion (nullif inherited)ser- fully qualified name of serialization method (nullif inherited)conv- fully qualified name of whitespace conversion method (nullif inherited)dser- fully qualified name of deserialization method (nullif inherited)dflt- default value text (nullif inherited)- Returns:
- new instance initialized from existing one
- Throws:
org.jibx.runtime.JiBXException- if error in configuration information
-
-