package org.ops4j.pax.exam.quickbuild; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URI; /** * */ public interface SnapshotBuilder { /** * Take a new snapshot from a reference build and a corresponding workingfolder(s). (classes output usually) * * @param referenceBuild uri to a jar that will be the reference (build by a real build management tool like maven * @param workFolder classes output folders (usually it is just one) * @return produced snapshot */ Snapshot take( InputStream referenceBuild, File workFolder ); /** * load a previously stored snapshot from disk * * @param load reference to what has been produced by {@link Snapshot#write} * * @return loaded snapshot instance. */ Snapshot load( InputStream load ) throws IOException; }