com.starbase.starteam
Class Project

java.lang.Object
  |
  +--com.starbase.starteam.CacheRef
        |
        +--com.starbase.starteam.NamedCacheRef
              |
              +--com.starbase.starteam.TypedResource
                    |
                    +--com.starbase.starteam.SimpleTypedResource
                          |
                          +--com.starbase.starteam.Project
All Implemented Interfaces:
java.lang.Cloneable, ISecurable, ISecurableContainer, ISecurableObject

public class Project
extends SimpleTypedResource
implements ISecurableObject, ISecurableContainer

Represents a StarTeam project which is essentially just a collection of Views.


Constructor Summary
Project(Server server, java.lang.String name, java.lang.String rootDirectory)
          Constructs a new project.
Project(Server server, java.lang.String name, java.lang.String description, int nCompaction, int nEncryption, boolean bUseMail, java.lang.String rootDirectory, int projectType, java.lang.String configSource1, java.lang.String configSource2, Folder folderTree)
          Deprecated.  
Project(Server server, java.lang.String name, java.lang.String description, int nCompaction, int nEncryption, boolean bUseMail, java.lang.String rootDirectory, int projectType, java.lang.String sForeignPassword, java.lang.String configFile, java.lang.String archivePath)
          Constructs a new project that wraps around a foreign archive.
 
Method Summary
 void acquireOwnership()
          Sets ownership of this securable object to the logged in user.
 void addProjectListener(ProjectListener listener)
          Adds a listener for Project events.
 void addViewListener(ViewListener listener)
          Adds a listener for View events.
 Project copy()
          Creates a copy of this Project object, with project properties fully populated.
 void discard()
          Discards all of the cached properties for this project.
 boolean equals(java.lang.Object another)
          Returns true if the specified Object identifies the same exact Project.
 java.lang.Object get(java.lang.String propertyName)
          Return the value for the specified property.
 View[] getAccessibleViews()
          Gets the set of Views accessible from this Project.
 AclEntry[] getACL()
          Returns the Access Control List for this project.
 java.lang.String getConfigSource1()
          Returns the ConfigSource1 value.
 java.lang.String getConfigSource2()
          Returns the ConfigSource2 value.
 AclEntry[] getContainerLevelACL(java.lang.String typeName)
          Returns the Access Control List for items of the specified type for this project.
 int getCreatedBy()
          Returns the user ID of the user that created the project.
 OLEDate getCreatedTime()
          Returns the time at which the project was created.
 Type[] getDefaultItemTypes()
          Gets the default item types that will be shared upon creation of a variant view.
 View getDefaultView()
          Gets the default View for this Project.
 java.lang.String getDescription()
          Returns the description of this project.
 int getID()
          Returns the unique integer identifier for this project.
 java.lang.String getKeywordExpansionFileExtensions()
          Returns the list of file extensions upon which to perform keyword expansion.
 java.lang.String getName()
          Returns the name of this project.
 int getOwner()
          If there are no access rights explicitly assigned to this object, then the effective access rights come from a parent container.
 ISecurableContainer getParentContainer()
          A Project has no parent container.
 int getProjectType()
          Returns the project type: StarTeam, VSS, PVCS
 Server getServer()
          Returns the server to which this project belongs.
 View[] getViews()
          Gets all the views on this Project.
 void goNative()
          Converts a foreign PVCS or VSS project to a native StarTeam project.
 int hashCode()
          Returns a hash code for this project.
 boolean hasPermission(int permissions)
          Returns true if desired permissions are granted for this project
 boolean hasPermission(int permissions, java.lang.String typeName)
          Returns true if desired permissions are granted for items of the specified type for this project
 boolean isActiveProcessItemStateEnabled(EnumeratedValue value)
          Determines whether or not a given status value is one that can be used for an active process item.
 boolean isDeleted()
          Determines whether or not this project has been deleted from the server.
 boolean isEnhancedProcessItemsEnabled()
          Determines whether or not the enhanced process item model is in effect for this project.
 boolean isEqualTo(Project project)
          Compares the properties of two Projects.
 boolean isExpandKeywords()
          Returns true if keywords are expanded when files are checked out.
 boolean isForceCheckinReason()
          Returns true if a comment must be included with file check in operations.
 boolean isMailUsed()
          Return true if email is used in this project.
 boolean isNew()
          Returns true if this project has not yet been saved on the server.
 boolean isProcessItemsRequired()
          Determines whether or not process items are required for this project.
 boolean isProcessItemTypeEnabled(Type type)
          Determines whether or not process items of the given type are supported for this project.
 boolean isRefreshRequired()
          Returns true if a refresh() operation might have resulted in project properties being updated; returns false if and only if it is known that the project properties had not been changed since the last refresh.
 boolean isRequireLockForCheckin()
          Returns true if files must be locked before they are checked in.
 void populate()
          Populates project properties, if they have not already been populated.
 java.lang.Object put(java.lang.String propertyName, java.lang.Object value)
          Sets the value of the specified property and return the old value.
 java.lang.Object putByPropertyID(int propertyID, java.lang.Object value)
          Set the value of the property specified by its property ID and return the old value.
 void refresh()
          Updates cached properties to reflect recent changes made on the server.
 void remove()
          Removes the project from the server.
 void removeProjectListener(ProjectListener listener)
          Removes a listener for Project events.
 void removeViewListener(ViewListener listener)
          Removes a listener for View events.
 void setACL(AclEntry[] acl)
          Modify the Access Control List for this project.
 void setActiveProcessItemStateEnabled(EnumeratedValue value, boolean isEnabled)
          Enables or disables a given status value as one that can be used for an active process item.
 void setContainerLevelACL(AclEntry[] acl, java.lang.String typeName)
          Modifies the Access Control List for items of the specified type for this project.
 void setDefaultItemTypes(Type[] types)
          Sets the default item types that will be shared upon creation of a variant view.
 void setDescription(java.lang.String description)
           
 void setEnhancedProcessItemsEnabled(boolean isEnabled)
          Enables the enhanced process item model for this project.
 void setExpandKeywords(boolean bExpand)
           
 void setForceCheckinReason(boolean bForceComment)
           
 void setKeywordExpansionFileExtensions(java.lang.String fileExtensions)
           
 void setName(java.lang.String name)
           
 void setProcessItemsRequired(boolean isRequired)
          Determines whether or not process items are required for this project.
 void setProcessItemTypeEnabled(Type type, boolean isEnabled)
          Enables or disables process items of the given type to be used for this project.
 void setRequireLockForCheckin(boolean bRequireLock)
           
 java.lang.String toString()
          Returns a string representation of this project.
 void update()
          Persists this project's properties to its Server.
 
Methods inherited from class com.starbase.starteam.SimpleTypedResource
getByteArray, getDouble, getEnumDisplayName, getInt, getIntArray, getOLEDate, getPossibleValues, getPropertyNames, getString, getType, getTypeNames
 
Methods inherited from class com.starbase.starteam.TypedResource
addToIntArray, removeFromIntArray
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.starbase.starteam.ISecurable
getType
 

Constructor Detail

Project

public Project(Server server,
               java.lang.String name,
               java.lang.String description,
               int nCompaction,
               int nEncryption,
               boolean bUseMail,
               java.lang.String rootDirectory,
               int projectType,
               java.lang.String configSource1,
               java.lang.String configSource2,
               Folder folderTree)
Deprecated.  

Constructs a new project.

Parameters:
server - the repository in which to create this project
name - the name of the project
description - textual description of the project
nCompaction - flags whether or not compaction is used (0=no, 1=yes)
nEncryption - not supported pass in 0
bUseMail - flags whether or not this project will use StarTeam's email capabilities
rootDirectory - path to be used as the default root directory
projectType - pass in 0 for normal StarTeam projects
configSource1 -
configSource2 -
folderTree - the root folder of the initial folder tree, may not be null

Project

public Project(Server server,
               java.lang.String name,
               java.lang.String description,
               int nCompaction,
               int nEncryption,
               boolean bUseMail,
               java.lang.String rootDirectory,
               int projectType,
               java.lang.String sForeignPassword,
               java.lang.String configFile,
               java.lang.String archivePath)
Constructs a new project that wraps around a foreign archive.

Parameters:
server - the repository in which to create this project
name - the name of the project
description - textual description of the project
nCompaction - flags whether or not compaction is used (0=no, 1=yes)
nEncryption - not supported pass in 0
bUseMail - flags whether or not this project will use StarTeam's email capabilities
rootDirectory - path to be used as the default root directory
projectType - pass in 1 for PVCS project, and 2 for VSS projectc.
sForeignPassword - password to the foreign archive.
configFile - the configuration files for the foreign archive.
archivePath - the internal path to the foreign archive. To query the paths, use Server.getForeignArchivePaths().
See Also:
Server.getPropertyEnums(), PropertyEnums.PROJECT_TYPE_PVCS, PropertyEnums.PROJECT_TYPE_VISUAL_SOURCESAFE, Server.getForeignArchivePaths(int, java.lang.String), Project.update()

Project

public Project(Server server,
               java.lang.String name,
               java.lang.String rootDirectory)
Constructs a new project.

Parameters:
server - the repository in which to create this project
name - the name of the project
rootDirectory - path to be used as the default root directory
Method Detail

populate

public void populate()
Populates project properties, if they have not already been populated.

See Also:
Project.refresh()

isRefreshRequired

public boolean isRefreshRequired()
Returns true if a refresh() operation might have resulted in project properties being updated; returns false if and only if it is known that the project properties had not been changed since the last refresh. If MPX is not enabled, then isRefreshRequired() always returns true.

Returns:
true if project properties may be out of date.
See Also:
Project.refresh(), Server.enableMPX()

refresh

public void refresh()
Updates cached properties to reflect recent changes made on the server. If MPX is enabled, refresh() is optimized to avoid unnecessary server commands.

See Also:
Project.isRefreshRequired(), Project.populate(), Server.enableMPX()

copy

public Project copy()
Creates a copy of this Project object, with project properties fully populated. Useful to applications that want to save a snapshot of the Project in a given state, for example, before calling refresh().

Returns:
A new copy of this Project object.
See Also:
Project.isEqualTo(com.starbase.starteam.Project)

isEqualTo

public boolean isEqualTo(Project project)
Compares the properties of two Projects.

Parameters:
project - The project to be compared to this one.
Returns:
true if no differences were found.
See Also:
Project.copy()

get

public java.lang.Object get(java.lang.String propertyName)
                     throws NoSuchPropertyException
Return the value for the specified property.

Overrides:
get in class SimpleTypedResource
Parameters:
propertyName - the name of property to be retreived
Returns:
the value of the specified property
Throws:
NoSuchPropertyException - if the named property does not exist

put

public java.lang.Object put(java.lang.String propertyName,
                            java.lang.Object value)
                     throws NoSuchPropertyException,
                            java.lang.ClassCastException
Sets the value of the specified property and return the old value.

Overrides:
put in class SimpleTypedResource
Parameters:
propertyName - the name of the property to set
value - the new value to set for the specified property
Returns:
the old property value
Throws:
NoSuchPropertyException - if the named property does not exist
java.lang.ClassCastException - if the value is of the wrong type for the specified property

putByPropertyID

public java.lang.Object putByPropertyID(int propertyID,
                                        java.lang.Object value)
                                 throws NoSuchPropertyException,
                                        java.lang.ClassCastException
Set the value of the property specified by its property ID and return the old value.

Overrides:
putByPropertyID in class SimpleTypedResource
Parameters:
propertyID - the ID of the property to set
value - the new value to set for the specified property
Returns:
the old property value
Throws:
NoSuchPropertyException - if the named property does not exist
java.lang.ClassCastException - if the value is of the wrong type for the specified property
See Also:
Property.getID()

hasPermission

public boolean hasPermission(int permissions)
Returns true if desired permissions are granted for this project

Specified by:
hasPermission in interface ISecurable
Parameters:
permissions - the desired permissions
Returns:
true if all the requested permissions are granted; false if at least one of the requested permissions is denied.
See Also:
Permission

hasPermission

public boolean hasPermission(int permissions,
                             java.lang.String typeName)
Returns true if desired permissions are granted for items of the specified type for this project

Specified by:
hasPermission in interface ISecurableContainer
Parameters:
permissions - the desired permissions
typeName - the name of the type for access to be tested on
Returns:
true if all the requested permissions are granted; false if at least one of the requested permissions is denied.
See Also:
Permission, TypeNames

getContainerLevelACL

public AclEntry[] getContainerLevelACL(java.lang.String typeName)
Returns the Access Control List for items of the specified type for this project. This will return null if this project has no access control list for the specified type.

Specified by:
getContainerLevelACL in interface ISecurableContainer
Parameters:
typeName - the name of the type being controlled by the returned ACL
Returns:
the access control list for this project. May return null.
See Also:
TypeNames

setContainerLevelACL

public void setContainerLevelACL(AclEntry[] acl,
                                 java.lang.String typeName)
Modifies the Access Control List for items of the specified type for this project. If the ACL is null then the access control list for items of the specified type will be dropped.

Specified by:
setContainerLevelACL in interface ISecurableContainer
Parameters:
acl - the access control list for this project
typeName - the name of the type being controlled by the returned ACL
See Also:
TypeNames

equals

public boolean equals(java.lang.Object another)
Returns true if the specified Object identifies the same exact Project.

Overrides:
equals in class SimpleTypedResource
Parameters:
another - the object to be compared with
Returns:
true if this project is the same as the argument

hashCode

public int hashCode()
Returns a hash code for this project.

Overrides:
hashCode in class SimpleTypedResource
Returns:
a hash code for this project.

discard

public void discard()
Discards all of the cached properties for this project. They will be re-fetched from the server on demand (even when MPX is enabled).

If the properties of a project are changed, and discard() is called without first calling update(), the changes will be lost.

See Also:
Project.refresh()

update

public void update()
Persists this project's properties to its Server. If this project wraps around a foreign archive, Folder hierarchy will be created according to the configuration file and archive path of the foreign archive specified.


remove

public void remove()
Removes the project from the server.


isDeleted

public boolean isDeleted()
Determines whether or not this project has been deleted from the server.

Returns:
True if the project has been deleted from the server; false otherwise.

toString

public java.lang.String toString()
Returns a string representation of this project.

Overrides:
toString in class TypedResource
Returns:
a string representation of this project.

isNew

public boolean isNew()
Returns true if this project has not yet been saved on the server. To save a project you must call update().

Returns:
true if this project has not yet been saved on the server.
See Also:
Project.update()

getDefaultView

public View getDefaultView()
Gets the default View for this Project.

The default view is not cached in the Project object. Each call to getDefaultView() returns an up-to-date view hierarchy consisting of newly allocated View objects.

If MPX is enabled, getDefaultView() is optimized to avoid unnecessary server commands.

Returns:
The default View for this Project.

setDefaultItemTypes

public void setDefaultItemTypes(Type[] types)
Sets the default item types that will be shared upon creation of a variant view. Supported on servers beginning with release 10.3.

Parameters:
types - Type[] the set of item types that will be shared upon creation of a variant view.

getDefaultItemTypes

public Type[] getDefaultItemTypes()
Gets the default item types that will be shared upon creation of a variant view.

Returns:
Type[] the set of item types that will be shared upon creation of a variant view.

getID

public int getID()
Returns the unique integer identifier for this project.

Overrides:
getID in class SimpleTypedResource
Returns:
the unique integer identifier for this project.

getDescription

public java.lang.String getDescription()
Returns the description of this project.

Returns:
the description of this project.

setDescription

public void setDescription(java.lang.String description)

isExpandKeywords

public boolean isExpandKeywords()
Returns true if keywords are expanded when files are checked out. Only files matching a keyword file extension will be expanded.

Returns:
true if keywords are expanded when files are checked out.
See Also:
Project.getKeywordExpansionFileExtensions()

setExpandKeywords

public void setExpandKeywords(boolean bExpand)

isRequireLockForCheckin

public boolean isRequireLockForCheckin()
Returns true if files must be locked before they are checked in.

Returns:
true if files must be locked before they are checked in.

setRequireLockForCheckin

public void setRequireLockForCheckin(boolean bRequireLock)

isForceCheckinReason

public boolean isForceCheckinReason()
Returns true if a comment must be included with file check in operations.

Returns:
true if a comment must be included with file check in operations.

setForceCheckinReason

public void setForceCheckinReason(boolean bForceComment)

getConfigSource1

public java.lang.String getConfigSource1()
Returns the ConfigSource1 value. This is only meaningful for foreign archive projects.

Returns:
the ConfigSource1 value. This is only meaningful for foreign archive projects.

getConfigSource2

public java.lang.String getConfigSource2()
Returns the ConfigSource2 value. This is only meaningful for foreign archive projects.

Returns:
the ConfigSource2 value. This is only meaningful for foreign archive projects.

getCreatedTime

public OLEDate getCreatedTime()
Returns the time at which the project was created.

Returns:
the time at which the project was created.

getCreatedBy

public int getCreatedBy()
Returns the user ID of the user that created the project.

Returns:
the user ID of the user that created the project.

getServer

public Server getServer()
Returns the server to which this project belongs.

Returns:
the server to which this project belongs.

getKeywordExpansionFileExtensions

public java.lang.String getKeywordExpansionFileExtensions()
Returns the list of file extensions upon which to perform keyword expansion. The extension list can use the wildcards * and ? and multiple extensions can be delimited by commas, spaces or semicolons. For example: "*.class, *.obj".

Returns:
the list of file extensions for keyword expansion

setKeywordExpansionFileExtensions

public void setKeywordExpansionFileExtensions(java.lang.String fileExtensions)

getProjectType

public int getProjectType()
Returns the project type: StarTeam, VSS, PVCS

Returns:
the project type.
See Also:
TypeNames.PROJECT, PropertyNames.PROJECT_TYPE, Property.getEnumValues()

goNative

public void goNative()
Converts a foreign PVCS or VSS project to a native StarTeam project.

If this is a foreign project, goNative() starts a background process on the server to perform the conversion. In any case, goNative() returns immediately.

When the conversion completes successfully, the project type will be changed to PROJECT_TYPE_STARTEAM. Note that you may need to refresh the project properties to see the new property value.

If the conversion fails, the "go native" server log will contain detailed information regarding the cause of the problem.

See Also:
Project.getProjectType(), PropertyEnums.PROJECT_TYPE_STARTEAM, PropertyEnums.PROJECT_TYPE_PVCS, PropertyEnums.PROJECT_TYPE_VISUAL_SOURCESAFE

isMailUsed

public boolean isMailUsed()
Return true if email is used in this project.

Returns:
true if email is used in this project.
See Also:
PropertyNames.PROJECT_MAIL

getName

public java.lang.String getName()
Returns the name of this project.

Returns:
the name of this project.
See Also:
PropertyNames.PROJECT_NAME

setName

public void setName(java.lang.String name)

getViews

public View[] getViews()
Gets all the views on this Project.

The view list is not cached in the Project object. Each call to getViews() returns an up-to-date view list consisting of newly allocated View objects.

If MPX is enabled, getViews() is optimized to avoid unnecessary server commands.

Returns:
All the Views from this Project. May be empty (but is never null).

getAccessibleViews

public View[] getAccessibleViews()
Gets the set of Views accessible from this Project.

The view list is not cached in the Project object. Each call to getViews() returns an up-to-date view list consisting of newly allocated View objects.

If MPX is enabled, getViews() is optimized to avoid unnecessary server commands.

Returns:
The set of Views accessible from this Project. May be empty (but is never null).

getACL

public AclEntry[] getACL()
Returns the Access Control List for this project. This will return null if this project has no access control list.

Specified by:
getACL in interface ISecurable
Returns:
the access control list for this project. May return null.
See Also:
AclEntry

setACL

public void setACL(AclEntry[] acl)
Modify the Access Control List for this project. If the input parameter is null then the access control list will be dropped.

Specified by:
setACL in interface ISecurable
Parameters:
acl - the new access control list or null if to be dropped.
See Also:
AclEntry

addProjectListener

public void addProjectListener(ProjectListener listener)
Adds a listener for Project events.

Event handlers will be tiggered if this Project is changed or deleted on the Server.

In order to handle events, an application must enable MPX.

Parameters:
listener - Application-specific event handler for Project events.
See Also:
ProjectListener, ProjectAdapter, Project.removeProjectListener(com.starbase.starteam.ProjectListener), Server.enableMPX()

removeProjectListener

public void removeProjectListener(ProjectListener listener)
Removes a listener for Project events.

Parameters:
listener - Previously-registered event handler for Project events.
See Also:
ProjectListener, Project.addProjectListener(com.starbase.starteam.ProjectListener)

addViewListener

public void addViewListener(ViewListener listener)
Adds a listener for View events.

Event handlers will be tiggered whenever a View is added, changed or deleted in this Project. Note that an application will not receive events for Views that the logged-in user does not have permission to access.

In order to handle events, an application must enable MPX.

Parameters:
listener - Application-specific event handler for View events.
See Also:
ViewListener, ViewAdapter, Project.removeViewListener(com.starbase.starteam.ViewListener), Server.enableMPX()

removeViewListener

public void removeViewListener(ViewListener listener)
Removes a listener for View events.

Parameters:
listener - Previously-registered event handler for View events.
See Also:
ViewListener, Project.addViewListener(com.starbase.starteam.ViewListener)

getOwner

public int getOwner()
If there are no access rights explicitly assigned to this object, then the effective access rights come from a parent container. A RuntimeException will be thrown if SupportedFeature.hasObjectOwnership() returns false.

Specified by:
getOwner in interface ISecurableObject
Returns:
This object's parent container.
See Also:
SupportedFeatures.hasObjectOwnership()

acquireOwnership

public void acquireOwnership()
Sets ownership of this securable object to the logged in user. A RuntimeException will be thrown if SupportedFeature.hasObjectOwnership() returns false.

Specified by:
acquireOwnership in interface ISecurableObject
See Also:
SupportedFeatures.hasObjectOwnership()

getParentContainer

public ISecurableContainer getParentContainer()
A Project has no parent container. It returns null.

Specified by:
getParentContainer in interface ISecurable
Returns:
null.
See Also:
ISecurableContainer

setProcessItemsRequired

public void setProcessItemsRequired(boolean isRequired)
Determines whether or not process items are required for this project.

Parameters:
isRequired - true if process items are required for this project on add and checkin operations; false otherwise.
See Also:
PropertyNames.PROJECT_PROCESS_REQUIRED, Project.setProcessItemTypeEnabled(com.starbase.starteam.Type, boolean), Project.setActiveProcessItemStateEnabled(com.starbase.starteam.EnumeratedValue, boolean), ProcessItem

isProcessItemsRequired

public boolean isProcessItemsRequired()
Determines whether or not process items are required for this project.

Returns:
true if process items are required for this project on add and checkin operations; false otherwise.

setProcessItemTypeEnabled

public void setProcessItemTypeEnabled(Type type,
                                      boolean isEnabled)
Enables or disables process items of the given type to be used for this project.

Currently, only ChangeRequests, Requirements and Tasks may be used as process items; each of those types may be enabled or disabled individually for each project.

Note that if process items are not required for this project, then these settings are ignored; that is, if process items are optional, you may use any Change Request, Requirement or Task as a process item.

Also note that whether or not a project explicitly enables Tasks as a legal process item type, process tasks (in the correct state) are always allowed.

Parameters:
type - An item type (Change Request, Requirement or Task).
isEnabled - true to enable process items of the given type; false to disable them.
See Also:
Project.isProcessItemTypeEnabled(com.starbase.starteam.Type), Project.setProcessItemsRequired(boolean), Project.setActiveProcessItemStateEnabled(com.starbase.starteam.EnumeratedValue, boolean), PropertyNames.PROJECT_PROCESS_SELECT_CR, PropertyNames.PROJECT_PROCESS_SELECT_REQUIREMENT, PropertyNames.PROJECT_PROCESS_SELECT_TASK, Task.isProcessTask(), ProcessItem

isProcessItemTypeEnabled

public boolean isProcessItemTypeEnabled(Type type)
Determines whether or not process items of the given type are supported for this project.

Parameters:
type - An item type.
Returns:
true if process items of the given type are enabled for this project; false otherwise.
See Also:
Project.setProcessItemTypeEnabled(com.starbase.starteam.Type, boolean), Project.isProcessItemsRequired(), Project.isActiveProcessItemStateEnabled(com.starbase.starteam.EnumeratedValue)

setActiveProcessItemStateEnabled

public void setActiveProcessItemStateEnabled(EnumeratedValue value,
                                             boolean isEnabled)
Enables or disables a given status value as one that can be used for an active process item. An active process item is one that accepts new process links.

Note that currently, only a very specific set of status values, for specific properties and item types, are supported, as follows:

Change Requests: Only the CR_STATUS_OPEN and CR_STATUS_IN_PROGRESS values of the CR_STATUS property are supported. If neither of these status values is enabled, but Change Requests in general are legal process items, then it is assumed that any status value is acceptable.

Tasks: Only the REQ_STATUS_APPROVED value of the REQ_STATUS property is supported. If this status value is not enabled, but Requirements in general are legal process items, then it is assumed that any status value is acceptable.

Tasks: Only the TASK_STATUS_READY_TO_START and TASK_STATUS_IN_PROGRESS values of the TASK_STATUS property are supported. If neither of these status values is enabled, but Tasks in general are legal process items, then it is assumed that any status value is acceptable.

Note that if process items are not required for this project, then these settings are ignored; that is, if process items are optional, you may use any Change Request, Requirement or Task in any status as a process item.

Also note that a process task in the In Progress state is itself always a legal process item.

See Also:
PropertyEnums.CR_STATUS_OPEN, PropertyEnums.CR_STATUS_IN_PROGRESS, PropertyEnums.REQ_STATUS_APPROVED, PropertyEnums.TASK_STATUS_READY_TO_START, PropertyEnums.TASK_STATUS_IN_PROGRESS, PropertyNames.PROJECT_PROCESS_SHOW_CR_OPEN, PropertyNames.PROJECT_PROCESS_SHOW_CR_IN_PROGRESS, PropertyNames.PROJECT_PROCESS_SHOW_REQUIREMENT_APPROVED, PropertyNames.PROJECT_PROCESS_SHOW_TASK_READY, PropertyNames.PROJECT_PROCESS_SHOW_TASK_IN_PROGRESS, Project.isActiveProcessItemStateEnabled(com.starbase.starteam.EnumeratedValue), Task.isProcessTask(), ProcessItem

isActiveProcessItemStateEnabled

public boolean isActiveProcessItemStateEnabled(EnumeratedValue value)
Determines whether or not a given status value is one that can be used for an active process item.

Parameters:
value - The status value to be tested.
Returns:
true if the given status value is legal for an active process item, and false otherwise.
See Also:
Project.setActiveProcessItemStateEnabled(com.starbase.starteam.EnumeratedValue, boolean)

isEnhancedProcessItemsEnabled

public boolean isEnhancedProcessItemsEnabled()
Determines whether or not the enhanced process item model is in effect for this project. In the enhanced model, changed files and folders are linked to process items indirectly, via a view-specific process task.

Returns:
true if the enhanced process item model is in effect for this project, and false otherwise.

setEnhancedProcessItemsEnabled

public void setEnhancedProcessItemsEnabled(boolean isEnabled)
Enables the enhanced process item model for this project. In the enhanced model, changed files and folders are linked to process items indirectly, via a view-specific process task.

This method requires StarTeam server version 9.1 or later. On earlier servers, the enhanced model is enabled or disabled at the server level.

Parameters:
isEnabled - true to enable the enhanced model; false otherwise.
See Also:
SupportedFeatures.hasEnhancedProcessItemsNative(), ServerConfiguration.setEnhancedProcessItemsEnabledForAllProjects(boolean)


StarTeam SDK 10.4, Build 36
Copyright © 2003-2008 Borland Software Corporation. All rights reserved.