package org.ops4j.pax.exam.quickbuild;
import java.io.IOException;
import java.io.OutputStream;
/**
* Snapshot is being used as a reference to calculate changes against.
*
* Must be taken when jarfile and referenced folders are considered to be "in-sync".
*
* Snapshot must contain all available information to the original jar.
*
* Also it must be available to reconstruct the entire jar just from snapshot.
* So the we do not have to touch the original jar again (self mantained snapshot).
*/
public interface Snapshot extends Iterable<SnapshotElement>
{
long timestamp();
void write( OutputStream out )
throws IOException;
}