package eu.tpmusielak.securephoto.container;
import java.io.*;
/**
* Created by IntelliJ IDEA.
* User: Tomasz P. Musielak
* Date: 21/06/12
* Time: 18:16
*/
public class SPImageHeader implements Serializable {
protected long size;
protected byte[] uniqueFrameID;
protected byte[] frameHash;
public SPImageHeader(long size, byte[] frameHash, byte[] uniqueFrameID) {
this.size = size;
this.frameHash = frameHash;
this.uniqueFrameID = uniqueFrameID;
}
public static SPImageHeader fromBytes(byte[] bytes) throws IOException, ClassNotFoundException {
ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(bytes);
ObjectInput objectInput = new ObjectInputStream(byteArrayInput);
SPImageHeader header = (SPImageHeader) objectInput.readObject();
objectInput.close();
byteArrayInput.close();
return header;
}
public static SPImageHeader fromFile(File file) throws IOException, ClassNotFoundException {
FileInputStream inputStream = new FileInputStream(file);
long fileLength = file.length();
byte[] bytes = new byte[(int) fileLength];
int bytesRead = 0;
bytesRead = inputStream.read(bytes);
inputStream.close();
if (bytesRead != fileLength)
throw new IOException("Could not read the entire file");
return fromBytes(bytes);
}
public SPImageHeader() {
this(0, null, null);
}
public long getSize() {
return size;
}
public byte[] getFrameHash() {
return frameHash;
}
public byte[] getUniqueFrameID() {
return uniqueFrameID;
}
}