Package hudson.util
Class RobustReflectionConverter
java.lang.Object
hudson.util.RobustReflectionConverter
- All Implemented Interfaces:
 com.thoughtworks.xstream.converters.Converter,com.thoughtworks.xstream.converters.ConverterMatcher
public class RobustReflectionConverter
extends Object
implements com.thoughtworks.xstream.converters.Converter
Custom 
ReflectionConverter that handle errors more gracefully.
 - If the field is missing, the value is ignored instead of causing an error. This makes evolution easy.
 - If the type found in XML is no longer available, the element is skipped instead of causing an error.
 
- 
Nested Class Summary
Nested Classes - 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.thoughtworks.xstream.mapper.Mapperprotected final com.thoughtworks.xstream.converters.reflection.ReflectionProviderprotected com.thoughtworks.xstream.core.util.SerializationMembers - 
Constructor Summary
ConstructorsConstructorDescriptionRobustReflectionConverter(com.thoughtworks.xstream.mapper.Mapper mapper, com.thoughtworks.xstream.converters.reflection.ReflectionProvider reflectionProvider)  - 
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddErrorInContext(com.thoughtworks.xstream.converters.UnmarshallingContext context, Throwable e) booleancanConvert(Class type) protected voiddoMarshal(Object source, com.thoughtworks.xstream.io.HierarchicalStreamWriter writer, com.thoughtworks.xstream.converters.MarshallingContext context) doUnmarshal(Object result, com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context) protected ObjectinstantiateNewInstance(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context) voidmarshal(Object original, com.thoughtworks.xstream.io.HierarchicalStreamWriter writer, com.thoughtworks.xstream.converters.MarshallingContext context) protected voidmarshallField(com.thoughtworks.xstream.converters.MarshallingContext context, Object newObj, Field field) unmarshal(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context) protected ObjectunmarshalField(com.thoughtworks.xstream.converters.UnmarshallingContext context, Object result, Class type, Field field)  
- 
Field Details
- 
reflectionProvider
protected final com.thoughtworks.xstream.converters.reflection.ReflectionProvider reflectionProvider - 
mapper
protected final com.thoughtworks.xstream.mapper.Mapper mapper - 
serializationMethodInvoker
protected transient com.thoughtworks.xstream.core.util.SerializationMembers serializationMethodInvoker 
 - 
 - 
Constructor Details
- 
RobustReflectionConverter
public RobustReflectionConverter(com.thoughtworks.xstream.mapper.Mapper mapper, com.thoughtworks.xstream.converters.reflection.ReflectionProvider reflectionProvider)  
 - 
 - 
Method Details
- 
canConvert
- Specified by:
 canConvertin interfacecom.thoughtworks.xstream.converters.ConverterMatcher
 - 
marshal
public void marshal(Object original, com.thoughtworks.xstream.io.HierarchicalStreamWriter writer, com.thoughtworks.xstream.converters.MarshallingContext context) - Specified by:
 marshalin interfacecom.thoughtworks.xstream.converters.Converter
 - 
doMarshal
protected void doMarshal(Object source, com.thoughtworks.xstream.io.HierarchicalStreamWriter writer, com.thoughtworks.xstream.converters.MarshallingContext context)  - 
marshallField
 - 
unmarshal
public Object unmarshal(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context) - Specified by:
 unmarshalin interfacecom.thoughtworks.xstream.converters.Converter
 - 
doUnmarshal
 - 
addErrorInContext
public static void addErrorInContext(com.thoughtworks.xstream.converters.UnmarshallingContext context, Throwable e)  - 
unmarshalField
 - 
instantiateNewInstance
protected Object instantiateNewInstance(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context)  
 -