/*
 * $Id: WebCopyResult.java,v 1.4 2005/03/21 20:25:09 marbobo Exp $
 *
 * Copyright (c) Siemens AG 2008 
 *           (c) Universität Paderborn 2008 
 * Licensed under EUPL 1.1. 
 *
 * $Log: WebCopyResult.java,v $
 * Revision 1.4  2005/03/21 20:25:09  marbobo
 * + DocSize auf Type Long umgestellt
 *
 * Revision 1.3  2003/11/28 17:16:59  koppy
 * + getVKCInputStream()
 *
 * Revision 1.2  2003/07/29 23:08:47  koppy
 * + rootFilename  in HttpDocToZipFile
 *
 * Revision 1.1  2003/07/02 12:26:01  koppy
 * Initiale Version
 *
 *
 */
package vkc.util.webcopy;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import vkc.util.VKCInputStream;

/**
 * Die Klasse repräsentiert das Ergebnis
 * eines WebCopy-Durchlaufes
 * 
 * @author koppy
 */
public class WebCopyResult {
	
	private File zippedFile = null;
	private long fileSize = -1;
	private int fileCount = 0;
	private String rootFilename;



	/**
	 * Gibt den InputStream der gezippten Datei zurück
	 * 
	 * @return InputStream der gezippten Datei
	 * @throws FileNotFoundException
	 */
	public InputStream getInputStream() throws FileNotFoundException{
		return new BufferedInputStream(new FileInputStream(
								this.zippedFile));
	}
	
	
	/**
	 * Gibt den VKC InputStream der gezippten Datei zurück
	 * Enthält zusätzlich die Länge des Streams
	 * 
	 * @return InputStream der gezippten Datei
	 * @throws FileNotFoundException
	 */
	public VKCInputStream getVKCInputStream() throws FileNotFoundException{
		return new VKCInputStream( getInputStream(), getFileSize() );
	}
		
	/**
	 * @return
	 */
	public long getFileSize() {
		return fileSize;
	}

	/**
	 * @return
	 */
	public File getZippedFile() {
		return zippedFile;
	}

	/**
	 * @param i
	 */
	public void setFileSize(long i) {
		fileSize = i;
	}

	/**
	 * @param file
	 */
	public void setZippedFile(File file) {
		zippedFile = file;
	}

	/**
	 * @return
	 */
	public int getFileCount() {
		return fileCount;
	}

	/**
	 * @param i
	 */
	public void setFileCount(int i) {
		fileCount = i;
	}

	/**
	 * @return
	 */
	public String getRootFilename() {
		return rootFilename;
	}

	/**
	 * @param string
	 */
	public void setRootFilename(String string) {
		rootFilename = string;
	}

}
