com.ibm.ftt.projects.core.logical
Interface ILogicalSubProject

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable, IContainer, ILogicalContainer, ILogicalResource
All Known Subinterfaces:
IRemoteSubProject, LZOSSubProject

public interface ILogicalSubProject
extends ILogicalContainer

A logical subproject is a collection of artifacts representing a build unit.


Field Summary
static String COPY_RIGHT
           
 
Method Summary
 void addNatureId(String natureId)
          Adds the specified natureId to the subproject.
 void build(org.eclipse.core.runtime.IProgressMonitor monitor)
          Perform a build operation on the files of the subproject.
 IBuildCommand[] getBuildSpec()
          Returns the array of commands required to build the subproject.
 String[] getNatureIds()
          Returns the ids of the natures that have been added to this subproject.
 ILogicalProject getProject()
          Returns the project which is the parent of this subproject.
 IOSImage[] getSystems()
          Returns the systems associated with the subproject.
 boolean hasNature(String natureId)
          Returns true if the subproject nature specified by the given nature id has been added to this logical subproject.
 IBuildCommand newCommand()
          Returns an empty build command.
 void removeNatureId(String natureId)
          Removes the subproject nature associated with the specified natureId from the subproject.
 void setBuildSpec(IBuildCommand[] value)
          Sets the build specification for this subproject.
 void setNatureIds(String[] natureIds)
          Sets the list of nature ids associated with this subproject.
 void setSystems(IOSImage[] systems)
          Sets the systems for this subproject.
 
Methods inherited from interface com.ibm.ftt.projects.core.logical.ILogicalContainer
addMember, removeMember
 
Methods inherited from interface com.ibm.ftt.resources.core.physical.IContainer
exists, findMember, findMember, getMembers, members
 
Methods inherited from interface com.ibm.ftt.projects.core.logical.ILogicalResource
delete, deleteOverriddenPropertiesInCategory, deleteOverride, getCurrentPropertyGroup, getFullPath, getLogicalParent, getName, getOverriddenProperties, getPersistentProperty, getPhysicalResource, getResourcePublisher, getSessionProperty, getSubProject, refresh, remove, rename, setCurrentPropertyGroup, setOverride, setPersistentProperty, setSessionProperty
 

Field Detail

COPY_RIGHT

static final String COPY_RIGHT
See Also:
Constant Field Values
Method Detail

getSystems

IOSImage[] getSystems()
Returns the systems associated with the subproject.

Returns:
an IOSImage array representing the systems associated with the subproject

addNatureId

void addNatureId(String natureId)
                 throws org.eclipse.core.runtime.CoreException
Adds the specified natureId to the subproject. The natureId should correspond to an ILogicalSubProjectNature class as defined in an appropriate com.ibm.ftt.projects.core.natures extension point. A nature can be used to associate an appropriate builder with the subproject, and can also be used for filtering contributed actions and other user interface elements.

Parameters:
natureId - a String containing the id of the nature
Throws:
org.eclipse.core.runtime.CoreException
See Also:
ILogicalSubProjectNature

build

void build(org.eclipse.core.runtime.IProgressMonitor monitor)
           throws org.eclipse.core.runtime.CoreException
Perform a build operation on the files of the subproject.

Parameters:
monitor - a progress monitor, or null if progress reporting is not desired
Throws:
org.eclipse.core.runtime.CoreException

getBuildSpec

IBuildCommand[] getBuildSpec()
Returns the array of commands required to build the subproject. The buildspec of a subproject is determined by the set of natures that are associated with it.

Returns:
a build specification, which is an array of IBuildCommands that have been assigned for this subproject
See Also:
addNatureId(String), removeNatureId(String), getNatureIds()

newCommand

IBuildCommand newCommand()
Returns an empty build command. Typically only used for implementing ILogicalSubProjectNature.

Returns:
an IBuildCommand which can be initialized and added to the subproject's build specification
See Also:
setBuildSpec(IBuildCommand[])

getProject

ILogicalProject getProject()
Returns the project which is the parent of this subproject.

Returns:
an ILogicalProject which contains this subproject

getNatureIds

String[] getNatureIds()
Returns the ids of the natures that have been added to this subproject. Returns an empty array if no natures have been added to this subproject.

Returns:
an array of Strings containing the ids of the associated natures for this subproject
See Also:
setNatureIds(String[]), addNatureId(String)

hasNature

boolean hasNature(String natureId)
                  throws org.eclipse.core.runtime.CoreException
Returns true if the subproject nature specified by the given nature id has been added to this logical subproject.

Parameters:
natureId - a String containing the id of a valid com.ibm.ftt.projects.core.natures extension point.
Returns:
true if the subproject has the given nature, false otherwise
Throws:
org.eclipse.core.runtime.CoreException - if this method fails.

removeNatureId

void removeNatureId(String natureId)
                    throws org.eclipse.core.runtime.CoreException
Removes the subproject nature associated with the specified natureId from the subproject.

Parameters:
natureId - a String containing the id of a valid com.ibm.ftt.projects.core.natures extension point.
Throws:
org.eclipse.core.runtime.CoreException - if this method fails. Reasons include:
  • This id does not exist.

setBuildSpec

void setBuildSpec(IBuildCommand[] value)
Sets the build specification for this subproject. Typically only used for implementing ILogicalSubProjectNature.

Parameters:
value - an array of IBuildCommands which comprise the build specification
See Also:
newCommand()

setNatureIds

void setNatureIds(String[] natureIds)
Sets the list of nature ids associated with this subproject. The subproject will have these natures added to it in the given order.

Parameters:
natureIds - an array of Strings containing the nature ids

setSystems

void setSystems(IOSImage[] systems)
                throws OperationFailedException
Sets the systems for this subproject.

Parameters:
systems - the IOSImage array for the systems associated with this subproject. This method should normally only be used in association with the creation of subproject objects.
Throws:
OperationFailedException
See Also:
ISubProjectFactory.createSubProject(String, ILogicalProject)