com.starteam.viewcomparemerge
Class ProcessItemScope

java.lang.Object
  extended by com.starteam.viewcomparemerge.Scope
      extended by com.starteam.viewcomparemerge.ProcessItemScope

public class ProcessItemScope
extends Scope

Includes a process item, and the items that are linked and pinned to it, in the scope of a session.

See Also:
Session.setScope(com.starteam.viewcomparemerge.Scope), Scope

Constructor Summary
ProcessItemScope(Item item, boolean bLinksOnly)
          Creates a new ProcessItemScope.
ProcessItemScope(ViewMember vm)
          Creates a new ProcessItemScope.
 
Method Summary
 java.lang.String getDescription()
          Return a description of this scope.
 Item getIncludedRevision(Item item)
          Determines whether or not the given source item is in scope for the current view compare/merge operation, and, if so, returns the item revision that should be used for comparision.
 TypeCollection getItemTypes()
          Get the list of item types that are included in this scope.
 boolean isFullScope(Item.Type type)
          Determines whether or not this represents a "Full Scope" operation for the given item type.
 void refresh(Session session)
          Provides a scope the opportunity to initialize or refresh its state.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProcessItemScope

public ProcessItemScope(ViewMember vm)
Creates a new ProcessItemScope.

Parameters:
vm - A process item. If the item resides in the source view of the session, then the process item itself is in scope. Any file revisions from the source view that are linked via process links to this process item (pinned to a specific revision at both endpoints) are also in scope.
Throws:
DisembodiedException - if the specified item is a disembodied item.

ProcessItemScope

public ProcessItemScope(Item item,
                        boolean bLinksOnly)
Creates a new ProcessItemScope.

Parameters:
item - A process item. Any file revisions from the source view that are linked via process links to this process item (pinned to a specific revision at both endpoints) are in scope.
bLinksOnly - If false, then the process item itself will be included in the scope (provided that it resides in the source view). Otherwise, only linked files are included.
Throws:
DisembodiedException - if the specified item is a disembodied item.
Method Detail

getDescription

public java.lang.String getDescription()
Return a description of this scope.

Specified by:
getDescription in class Scope
Returns:
a String that provides a description of this scope.

isFullScope

public boolean isFullScope(Item.Type type)
Description copied from class: Scope
Determines whether or not this represents a "Full Scope" operation for the given item type. If a scope restricts anything other than the item type, it is not considered a full scope operation.

Specified by:
isFullScope in class Scope
Parameters:
type - the type to test against
Returns:
boolean true if this type is at full scope
See Also:
Scope.isFullScope(com.starteam.Item.Type)

refresh

public void refresh(Session session)
Description copied from class: Scope
Provides a scope the opportunity to initialize or refresh its state. As a result, some Items that were previously in scope may now be out of scope, and vice versa.

The view compare/merge engine calls refresh() once at the start of Session.compare(), and once for each call to Session.refresh().

Specified by:
refresh in class Scope
Parameters:
session - the session to refresh
See Also:
Scope.refresh(com.starteam.viewcomparemerge.Session)

getItemTypes

public TypeCollection getItemTypes()
Description copied from class: Scope
Get the list of item types that are included in this scope. Note that folders are always processed, whether or not the scope indicates that they should be included.

Specified by:
getItemTypes in class Scope
Returns:
The list of types to be processed.
See Also:
Scope.getItemTypes()

getIncludedRevision

public Item getIncludedRevision(Item item)
Description copied from class: Scope
Determines whether or not the given source item is in scope for the current view compare/merge operation, and, if so, returns the item revision that should be used for comparision.

During a compare operation, the getIncludedRevision() method is called for every source folder whose parent is in scope, and for every item whose type and parent folder are in scope.

Each implementation of Scope must guarantee that if getIncludedRevision() is called again on the same item, without an intervening call to refresh(), the result is the same between calls. That is, until a refresh() is called, a given item must be consistently in scope or out of scope.

Scope implementations may assume that getIncludedRevision() is called only for types that are in scope (and folders).

Specified by:
getIncludedRevision in class Scope
Parameters:
item - Item the item to test for inclusion
Returns:
Item the included revision, if any
See Also:
Scope.getIncludedRevision(com.starteam.Item)


StarTeam SDK 14.0, Build 21
Copyright © 2003-2012 Borland Software Corporation. All rights reserved.