blob: f260973ee5269a086975b94cf823d95a65834098 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* Code 9 - ongoing development
*******************************************************************************/
package org.eclipse.equinox.internal.provisional.p2.installer;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.runtime.IPath;
import org.eclipse.equinox.internal.p2.installer.VersionedName;
/**
* An install information captures all the data needed to perform a product install.
* This includes information on where the installed product comes from, what will
* be installed, and where it will be installed.
*/
public class InstallDescription {
private URL[] artifactRepos;
private IPath installLocation;
private IPath agentLocation;
private IPath bundleLocation;
private boolean isAutoStart;
private String launcherName;
private URL[] metadataRepos;
private String productName;
private VersionedName[] roots;
private final Map profileProperties = new HashMap();
/**
* Returns the p2 agent location, or <code>null</code> to indicate
* the default agent location.
*/
public IPath getAgentLocation() {
return agentLocation;
}
/**
* Returns the locations of the artifact repositories to install from
* @return a list of artifact repository URLs
*/
public URL[] getArtifactRepositories() {
return artifactRepos;
}
/**
* Returns the bundle pool location, or <code>null</code> to
* indicate the default bundle pool location.
*/
public IPath getBundleLocation() {
return bundleLocation;
}
/**
* Returns the local file system location to install into.
* @return a local file system location
*/
public IPath getInstallLocation() {
return installLocation;
}
/**
* Returns the name of the product's launcher executable
* @return the name of the launcher executable
*/
public String getLauncherName() {
return launcherName;
}
/**
* Returns the locations of the metadata repositories to install from
* @return a list of metadata repository URLs
*/
public URL[] getMetadataRepositories() {
return metadataRepos;
}
/**
* Returns the profile properties for this install.
*/
public Map getProfileProperties() {
return profileProperties;
}
/**
* Returns a human-readable name for this install.
* @return the name of the product
*/
public String getProductName() {
return productName;
}
/**
* Returns whether the installed product should be started upon successful
* install.
* @return <code>true</code> if the product should be started upon successful
* install, and <code>false</code> otherwise
*/
public boolean isAutoStart() {
return isAutoStart;
}
public void setAgentLocation(IPath agentLocation) {
this.agentLocation = agentLocation;
}
public void setArtifactRepositories(URL[] value) {
this.artifactRepos = value;
}
public void setAutoStart(boolean value) {
this.isAutoStart = value;
}
public void setBundleLocation(IPath bundleLocation) {
this.bundleLocation = bundleLocation;
}
public void setInstallLocation(IPath location) {
this.installLocation = location;
}
public void setLauncherName(String name) {
this.launcherName = name;
}
public void setMetadataRepositories(URL[] value) {
this.metadataRepos = value;
}
/**
* Supplies a set of profile properties to be added when the profile is created.
* @param properties the profile properties to be added
*/
public void setProfileProperties(Map properties) {
profileProperties.putAll(properties);
}
/**
* Returns the set of roots to be installed for this installation
* @return the roots to install
*/
public VersionedName[] getRoots() {
return roots;
}
/**
* Set the list of roots to install
* @param value the set of roots to install
*/
public void setRoots(VersionedName[] value) {
roots = value;
}
/**
* Set the name of the product being installed.
* @param value the new name of the product to install
*/
public void setProductName(String value) {
productName = value;
}
}