package eu.tpmusielak.securephoto.container.wrapper;
import eu.tpmusielak.securephoto.container.SPImageRoll;
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
/**
* Created by IntelliJ IDEA.
* User: Tomasz P. Musielak
* Date: 05/06/12
* Time: 00:18
*/
public class SPRWrapper extends SPFileWrapper implements Serializable {
public final int frameIndex;
private final SPImageRoll.Header header;
public SPRWrapper(File file, SPImageRoll.Header header, int frameIndex) {
this(file, header, null, null, frameIndex);
}
public SPRWrapper(File file, SPImageRoll.Header header, byte[] hash, byte[] uniqueFrameID, int frameIndex) {
super(file);
this.frameIndex = frameIndex;
this.header = header;
this.uniqueFrameID = uniqueFrameID;
if (hash != null)
setFrameHash(hash);
}
public static SPRWrapper wrapFile(File file) {
SPImageRoll roll = null;
SPImageRoll.Header rollHeader = null;
try {
roll = SPImageRoll.fromFile(file);
rollHeader = roll.getHeader();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return new SPRWrapper(file, rollHeader, 0);
}
@Override
public String getName() {
return String.format("%04x_%s", frameIndex, file.getName());
}
@Override
public String getFileTypeName() {
return "SPR";
}
public SPImageRoll.Header getHeader() {
return header;
}
}