// Path: kbox.core/src/main/java/org/aksw/kbox/InputStreamFactory.java
// public interface InputStreamFactory {
// 	public InputStream get(URL url) throws Exception;
// }


import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.security.InvalidParameterException;
import org.aksw.kbox.InputStreamFactory;
package org.aksw.kbox.apple;



/**
 * 
 * @author {@linkplain http://emarx.org}
 *
 */
public abstract class AbstractDirectoryDataInstall extends AbstractMultiSourceAppInstall {
	protected void createPath(File destPath) throws Exception {
		if(destPath.isFile()) {
			throw new InvalidParameterException("The parameter destPath should be a directory.");
		}
		destPath.mkdirs();
	}
	
// Path: kbox.core/src/main/java/org/aksw/kbox/InputStreamFactory.java
// public interface InputStreamFactory {
// 	public InputStream get(URL url) throws Exception;
// }


// Path: kbox.apple/src/main/java/org/aksw/kbox/apple/AbstractDirectoryDataInstall.java
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.security.InvalidParameterException;
import org.aksw.kbox.InputStreamFactory;

package org.aksw.kbox.apple;



/**
 * 
 * @author {@linkplain http://emarx.org}
 *
 */
public abstract class AbstractDirectoryDataInstall extends AbstractMultiSourceAppInstall {
	protected void createPath(File destPath) throws Exception {
		if(destPath.isFile()) {
			throw new InvalidParameterException("The parameter destPath should be a directory.");
		}
		destPath.mkdirs();
	}
	
	public void install(URL source, File dest, InputStreamFactory isFactory) throws Exception {