filequeue/src/main/java/it/cavallium/filequeue/Serializer.java

23 lines
559 B
Java

package it.cavallium.filequeue;
import java.io.ByteArrayOutputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.io.IOException;
public interface Serializer<T> {
default byte[] serialize(T data) throws IOException {
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
try (DataOutputStream daos = new DataOutputStream(baos)) {
serialize(data, daos);
return baos.toByteArray();
}
}
}
default void serialize(T data, DataOutput output) throws IOException {
output.write(serialize(data));
}
}