/** * <copyright> * </copyright> * * $Id$ */ package org.eclipse.buckminster.mspec; import java.net.URL; import java.util.Map; import org.eclipse.buckminster.model.common.ComponentName; import org.eclipse.buckminster.model.common.ConflictResolution; import org.eclipse.core.runtime.IPath; import org.eclipse.emf.common.util.EList; /** * <!-- begin-user-doc --> A representation of the model object ' * <em><b>Materialization Spec</b></em>'. <!-- end-user-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link org.eclipse.buckminster.mspec.MaterializationSpec#getMspecNodes * <em>Mspec Nodes</em>}</li> * <li>{@link org.eclipse.buckminster.mspec.MaterializationSpec#getName <em>Name * </em>}</li> * <li>{@link org.eclipse.buckminster.mspec.MaterializationSpec#getShortDesc * <em>Short Desc</em>}</li> * <li>{@link org.eclipse.buckminster.mspec.MaterializationSpec#getUrl <em>Url * </em>}</li> * <li> * {@link org.eclipse.buckminster.mspec.MaterializationSpec#getMaxParallelJobs * <em>Max Parallel Jobs</em>}</li> * </ul> * </p> * * @see org.eclipse.buckminster.mspec.MspecPackage#getMaterializationSpec() * @model extendedMetaData="name='mspec'" * @generated */ public interface MaterializationSpec extends MaterializationDirective { /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model * @generated */ ConflictResolution getConflictResolution(ComponentName component, Map<String, String> properties); /** * Returns the value of the '<em><b>Context URL</b></em>' attribute. <!-- * begin-user-doc --> * <p> * If the meaning of the '<em>Context URL</em>' attribute isn't clear, there * really should be more of a description here... * </p> * <!-- end-user-doc --> * * @return the value of the '<em>Context URL</em>' attribute. * @see #isSetContextURL() * @see #unsetContextURL() * @see #setContextURL(URL) * @see org.eclipse.buckminster.mspec.MspecPackage#getMaterializationSpec_ContextURL() * @model unsettable="true" * dataType="org.eclipse.buckminster.model.common.URL" * volatile="true" derived="true" * @generated */ URL getContextURL(); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model dataType="org.eclipse.buckminster.model.common.IPath" * @generated */ IPath getLeafArtifact(ComponentName component, Map<String, String> properties); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model * @generated */ MaterializationNode getMatchingNode(ComponentName component, Map<String, String> properties); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model * @generated */ String getMaterializer(ComponentName component, Map<String, String> properties); /** * Returns the value of the '<em><b>Max Parallel Jobs</b></em>' attribute. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Max Parallel Jobs</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * * @return the value of the '<em>Max Parallel Jobs</em>' attribute. * @see #setMaxParallelJobs(int) * @see org.eclipse.buckminster.mspec.MspecPackage#getMaterializationSpec_MaxParallelJobs() * @model * @generated */ int getMaxParallelJobs(); /** * Returns the value of the '<em><b>Mspec Nodes</b></em>' containment * reference list. The list contents are of type * {@link org.eclipse.buckminster.mspec.MaterializationNode}. <!-- * begin-user-doc --> * <p> * If the meaning of the '<em>Mspec Nodes</em>' containment reference list * isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> * * @return the value of the '<em>Mspec Nodes</em>' containment reference * list. * @see org.eclipse.buckminster.mspec.MspecPackage#getMaterializationSpec_MspecNodes() * @model containment="true" extendedMetaData= * "name='mspecNode' kind='element' namespace='##targetNamespace'" * @generated */ EList<MaterializationNode> getMspecNodes(); /** * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- * begin-user-doc --> * <p> * If the meaning of the '<em>Name</em>' attribute isn't clear, there really * should be more of a description here... * </p> * <!-- end-user-doc --> * * @return the value of the '<em>Name</em>' attribute. * @see #setName(String) * @see org.eclipse.buckminster.mspec.MspecPackage#getMaterializationSpec_Name() * @model * @generated */ String getName(); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model * @generated */ String getProjectName(ComponentName component, Map<String, String> properties); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model dataType="org.eclipse.buckminster.model.common.URL" * @generated */ URL getResolvedURL(Map<String, String> properties); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model dataType="org.eclipse.buckminster.model.common.IPath" * @generated */ IPath getResourcePath(ComponentName component, Map<String, String> properties); /** * Returns the value of the '<em><b>Short Desc</b></em>' attribute. <!-- * begin-user-doc --> * <p> * If the meaning of the '<em>Short Desc</em>' attribute isn't clear, there * really should be more of a description here... * </p> * <!-- end-user-doc --> * * @return the value of the '<em>Short Desc</em>' attribute. * @see #setShortDesc(String) * @see org.eclipse.buckminster.mspec.MspecPackage#getMaterializationSpec_ShortDesc() * @model * @generated */ String getShortDesc(); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model * @generated */ String getSuffix(ComponentName component, Map<String, String> properties); /** * Returns the value of the '<em><b>Url</b></em>' attribute. <!-- * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A URL * appointing the BillOfMaterials or ComponentQuery to materialize <!-- * end-model-doc --> * * @return the value of the '<em>Url</em>' attribute. * @see #setUrl(String) * @see org.eclipse.buckminster.mspec.MspecPackage#getMaterializationSpec_Url() * @model * @generated */ String getUrl(); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model * @generated */ boolean isExcluded(ComponentName component, Map<String, String> properties); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model * @generated */ boolean isExpand(ComponentName component, Map<String, String> properties); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @model * @generated */ boolean isUnpack(ComponentName component, Map<String, String> properties); /** * Sets the value of the ' * {@link org.eclipse.buckminster.mspec.MaterializationSpec#getMaxParallelJobs * <em>Max Parallel Jobs</em>}' attribute. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @param value * the new value of the '<em>Max Parallel Jobs</em>' attribute. * @see #getMaxParallelJobs() * @generated */ void setMaxParallelJobs(int value); /** * Sets the value of the ' * {@link org.eclipse.buckminster.mspec.MaterializationSpec#getName * <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> * * @param value * the new value of the '<em>Name</em>' attribute. * @see #getName() * @generated */ void setName(String value); /** * Sets the value of the ' * {@link org.eclipse.buckminster.mspec.MaterializationSpec#getShortDesc * <em>Short Desc</em>}' attribute. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @param value * the new value of the '<em>Short Desc</em>' attribute. * @see #getShortDesc() * @generated */ void setShortDesc(String value); /** * Sets the value of the ' * {@link org.eclipse.buckminster.mspec.MaterializationSpec#getUrl * <em>Url</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> * * @param value * the new value of the '<em>Url</em>' attribute. * @see #getUrl() * @generated */ void setUrl(String value); } // MaterializationSpec