blob: ec1ae5e61637fc33da20855e050b147d93847c4f [file] [log] [blame]
/*
* Copyright (c) 2014, 2015, 2017 Eike Stepper (Loehne, Germany) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Eike Stepper - initial API and implementation
*/
package org.eclipse.oomph.targlets.core;
import org.eclipse.oomph.targlets.Targlet;
import org.eclipse.emf.common.util.EList;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.pde.core.target.ITargetDefinition;
import org.eclipse.pde.core.target.ITargetLocation;
import java.util.Collection;
/**
* @author Eike Stepper
*/
public interface ITargletContainer extends ITargetLocation
{
public static final String TYPE = "Targlet"; //$NON-NLS-1$
public static final String IU_PROPERTY_SOURCE = "org.eclipse.oomph.targlet.source"; //$NON-NLS-1$
public String getID();
public void setID(String newID) throws CoreException;
public ITargletContainerDescriptor getDescriptor();
public ITargetDefinition getTargetDefinition();
/**
* Returns a copy of the targlet with the given name in this targlet container. This copy can be freely modified but the modifications won't have an impact
* on a targlet container unless the copy is set back into a container via {@link #setTarglets(Collection)}.
*/
public Targlet getTarglet(String name);
public int getTargletIndex(String name);
public boolean hasTarglet(String name);
/**
* Returns a copy of the targlets in this targlet container. This copy can be freely modified but the modifications won't have an impact
* on a targlet container unless the copy is set back into a container via {@link #setTarglets(Collection)}.
*/
public EList<Targlet> getTarglets();
/**
* Copies the passed targlets into this targlet container. Modifications of the passed targlets after the call
* to this method won't have an impact on this targlet container.
*/
public void setTarglets(Collection<? extends Targlet> targlets) throws CoreException;
public boolean isIncludeSources();
public boolean isIncludeAllPlatforms();
public boolean isIncludeAllRequirements();
public boolean isIncludeBinaryEquivalents();
public String getProfileProperties();
public String getEnvironmentProperties();
public String getNLProperty();
public String getDigest();
public void forceUpdate(boolean activateTargetDefinition, boolean mirrors, IProgressMonitor monitor) throws CoreException;
public IStatus updateProfile(IProgressMonitor monitor);
}