/** * Copyright 2012-2013 Maciej Jaworski, Mariusz Kapcia, Paweł Kędzia, Mateusz Kubuszok * * <p>Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at</p> * * <p>http://www.apache.org/licenses/LICENSE-2.0</p> * * <p>Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.</p> */ package com.autoupdater.installer.installation.strategies; import java.io.File; import java.io.IOException; import net.jsdpu.process.executors.InvalidCommandException; /** * Executes installation according to strategy. * * <p> * Used by InstallationPerformer. * </p> * * @see com.autoupdater.installer.InstallationPerformer */ public interface IInstallationStrategy { /** * according to strategy. * * @param downloadedFile * source file * @param destinationPath * destinationPath (treating relies on chosen strategy) * @throws IOException * thrown if IO error occurs during installation * @throws InvalidCommandException * thrown if post-installation command is invalid */ public void process(File downloadedFile, String destinationPath) throws IOException, InvalidCommandException; }