Decision Center API

ilog.rules.teamserver.model
Class MergeOperation

java.lang.Object
  extended by ilog.rules.teamserver.model.MergeOperation
All Implemented Interfaces:
Serializable

public abstract class MergeOperation
extends Object
implements Serializable

Description of a change between two branches.

See Also:
Serialized Form

Nested Class Summary
static class MergeOperation.Action
          List of actions that can be applied to the MergeOperation elements.
 
Constructor Summary
MergeOperation()
           
 
Method Summary
abstract  MergeOperation.Action getAction()
          Returns the action that will be applied for this change.
abstract  MergeOperation.Action getDefaultAction()
          Returns the default action for this operation.
abstract  Change getLeftChange()
           
abstract  IlrBaseline getLhsBranch()
          Returns the branch on the left hand side of the comparison.
abstract  IlrCommitableObject getMergedObject()
          Return the IlrCommitableObject set by a previous call to the publish() method.
abstract  IlrBaseline getRhsBranch()
          Returns the branch on the right hand side of the comparison.
abstract  Change getRightChange()
           
abstract  void ignore()
          Mark this operation as "ignored".
abstract  boolean isConflict()
           
abstract  boolean isLeftChange()
           
abstract  boolean isRightChange()
           
abstract  boolean publish(MergeOperation.Action action, IlrCommitableObject cobject)
          Publish the given element data.
abstract  void reset()
          Go back to the default action.
abstract  boolean revert()
          Use this method to revert the default action for this operation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MergeOperation

public MergeOperation()
Method Detail

getLhsBranch

public abstract IlrBaseline getLhsBranch()
Returns the branch on the left hand side of the comparison.

Returns:
The branch on the left hand side of the comparison.

getRhsBranch

public abstract IlrBaseline getRhsBranch()
Returns the branch on the right hand side of the comparison.

Returns:
The branch on the right hand side of the comparison.

ignore

public abstract void ignore()
Mark this operation as "ignored". It will not be selected by the applyMerge() operation.


publish

public abstract boolean publish(MergeOperation.Action action,
                                IlrCommitableObject cobject)
Publish the given element data. The IlrCommitableObject may be null if the action is not PublishBoth. If this argument is null, the value from one side is published to the other side. If the action is PublishBoth, the IlrCommitableObject argument has to be specified.

Parameters:
action - may be PublishLeft, PublishRight, PublishBoth.
cobject - the element data to store
Returns:
false if the PublishBoth action is used without providing the IlrCommitableObject argument.

reset

public abstract void reset()
Go back to the default action.


getDefaultAction

public abstract MergeOperation.Action getDefaultAction()
Returns the default action for this operation. If the change is on the left side, the default action is PublishRight. If the change is on the right side, the default action is PublishLeft. If there is a change on both sides, this is a conflict and the default action is Ignore.

Returns:
The default action for this operation.

getAction

public abstract MergeOperation.Action getAction()
Returns the action that will be applied for this change.

Returns:
The action that will be applied for this change.

getMergedObject

public abstract IlrCommitableObject getMergedObject()
Return the IlrCommitableObject set by a previous call to the publish() method. May be null if no custom object was specified by a previous call to the publish() method.

Returns:
The IlrCommitableObject set by a previous call to the publish() method.

isConflict

public abstract boolean isConflict()
Returns:
True when a change is found on both sides.

isLeftChange

public abstract boolean isLeftChange()
Returns:
True when a change is found on left side, and no change is found on the right side.

isRightChange

public abstract boolean isRightChange()
Returns:
True when a change is found on the right side, and no change is found on the left side.

getLeftChange

public abstract Change getLeftChange()
Returns:
The change found on the left side if any.

getRightChange

public abstract Change getRightChange()
Returns:
The change found on the right side if any.

revert

public abstract boolean revert()
Use this method to revert the default action for this operation. If the default action is PublishLeft, the action will be set to PublishRight. If the default action is PublishRight, the action will be set to PublishLeft.

Returns:
False if conflict.

Decision Center API

© Copyright IBM Corp. 1987, 2013