public ConverterImpl(Mapper m) { ref = new RobustReflectionConverter(m,new JVM().bestReflectionProvider()) { @Override protected Object instantiateNewInstance(HierarchicalStreamReader reader, UnmarshallingContext context) { return reflectionProvider.newInstance(LogRotator.class); } }; }
public void marshal(HierarchicalStreamWriter writer, Object obj, ConverterLookup converterLookup, Mapper mapper, DataHolder dataHolder) { TreeMarshaller context = createMarshallingContext(writer, converterLookup, mapper); context.start(obj, dataHolder); }
public Object unmarshal(Object root, HierarchicalStreamReader reader, DataHolder dataHolder, ConverterLookup converterLookup, Mapper mapper) { TreeUnmarshaller context = createUnmarshallingContext(root, reader, converterLookup, mapper); return context.start(dataHolder); }
/** * @deprecated As of 1.4.5 use {@link #JavaClassConverter(ClassLoaderReference)} */ public JavaClassConverter(ClassLoader classLoader) { this(new ClassLoaderReference(classLoader)); }
private void lazilyCreateDataHolder() { if (dataHolder == null) { dataHolder = new MapBackedDataHolder(); } }
public ReferenceByIdMarshaller(HierarchicalStreamWriter writer, ConverterLookup converterLookup, Mapper mapper) { this(writer, converterLookup, mapper, new SequenceGenerator(1)); }
protected TreeMarshaller createMarshallingContext( HierarchicalStreamWriter writer, ConverterLookup converterLookup, Mapper mapper) { return new TreeMarshaller(writer, converterLookup, mapper); } }
/** * Retrieve the ClassLoader XStream uses to load classes. * * @since 1.1.1 */ public ClassLoader getClassLoader() { return classLoaderReference.getReference(); }
protected TreeMarshaller createMarshallingContext( HierarchicalStreamWriter writer, ConverterLookup converterLookup, Mapper mapper) { return new ReferenceByIdMarshaller(writer, converterLookup, mapper); } }
/** * Load a XStream class for the given name. * <p> * This method is not meant to use loading arbitrary classes. It is used by XStream bootstrap until it is able to * use the user provided or the default {@link ClassLoader}. * </p> * * @since 1.4.5 */ public static Class loadClassForName(String name) { return loadClassForName(name, true); }
/** * @since 1.4.10 * @deprecated As of 1.4.11 use {@link #isVersion(int)} */ public static boolean is9() { return isVersion(9); }
/** * @deprecated As of 1.4.5 use {@link #newReflectionProvider()} */ public synchronized ReflectionProvider bestReflectionProvider() { if (reflectionProvider == null) { reflectionProvider = newReflectionProvider(); } return reflectionProvider; }
/** * Change the ClassLoader XStream uses to load classes. Creating an XStream instance it will * register for all kind of classes and types of the current JDK, but not for any 3rd party * type. To ensure that all other types are loaded with your class loader, you should call * this method as early as possible - or consider to provide the class loader directly in * the constructor. * * @since 1.1.1 */ public void setClassLoader(ClassLoader classLoader) { classLoaderReference.setReference(classLoader); }
/** * Constructs an EncodedByteArrayConverter. Initializes the converter with a Base64 codec. */ public EncodedByteArrayConverter() { this(JVM.getBase64Codec()); }
/** * Construct a DefaultMapper. * * @param classLoader the ClassLoader used by the XStream instance. * @deprecated As of 1.4.5 use {@link #DefaultMapper(ClassLoaderReference)} */ public DefaultMapper(ClassLoader classLoader) { this(new ClassLoaderReference(classLoader)); }
private void lazilyCreateDataHolder() { if (dataHolder == null) { dataHolder = new MapBackedDataHolder(); } }
/** * @deprecated As of 1.4.5 use {@link #loadClassForName(String)} */ public Class loadClass(String name) { return loadClassForName(name, true); }
/** * @since 1.4 * @deprecated As of 1.4.10, minimal JDK version will be 1.7 for next major release */ public static boolean is17() { return isVersion(7); }
/** * @deprecated As of 1.4.5 use {@link #CustomObjectInputStream(StreamCallback, ClassLoaderReference)} */ public CustomObjectInputStream(StreamCallback callback, ClassLoader classLoader) throws IOException, SecurityException { this(callback, new ClassLoaderReference(classLoader)); }
/** * Create a DataHolder that can be used to pass data to the converters. The DataHolder is provided with a call to * {@link #marshal(Object, HierarchicalStreamWriter, DataHolder)}, * {@link #unmarshal(HierarchicalStreamReader, Object, DataHolder)}, * {@link #createObjectInputStream(HierarchicalStreamReader, DataHolder)} or * {@link #createObjectOutputStream(HierarchicalStreamWriter, String, DataHolder)}. * * @return a new {@link DataHolder} */ public DataHolder newDataHolder() { return new MapBackedDataHolder(); }