de.tsl2.nano.replication.serializer.SerializeSimpleXml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tsl2.nano.replication Show documentation
Show all versions of tsl2.nano.replication Show documentation
Provides Database/XML Replication through JPA
package de.tsl2.nano.replication.serializer;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import org.simpleframework.xml.core.Persister;
public class SerializeSimpleXml implements Serializer {
public static final String KEY = "SIMPLE_XML";
@Override
public String getKey() {
return KEY;
}
@Override
public String getExtension() {
return "simple.xml";
}
@Override
public ByteArrayOutputStream serialize(Object obj) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
new Persister().write(obj, out);
} catch (Exception e) {
throw new RuntimeException(e);
}
return out;
}
@Override
public T deserialize(InputStream stream, Class type) {
try {
return new Persister().read(type, stream);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* convenient to be used as Consumer (e.g.: SerializeSimpleXml::serializer)
* @param obj
*/
public static void serializer(Object obj) {
new SerializeSimpleXml().serialize(obj);
}
}