Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Eclipse Platform
Release 3.0
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


 

org.eclipse.compare.structuremergeviewer
Class DiffNode

java.lang.Object
  extended byorg.eclipse.compare.structuremergeviewer.DiffElement
      extended byorg.eclipse.compare.structuremergeviewer.DiffContainer
          extended byorg.eclipse.compare.structuremergeviewer.DiffNode

All Implemented Interfaces:
ICompareInput, IDiffContainer, IDiffElement, ITypedElement


public class DiffNode
extends DiffContainer
implements ITypedElement, ICompareInput

Diff node are used as the compare result of the differencing engine. Since it implements the ITypedElement and ICompareInput interfaces it can be used directly to display the compare result in a DiffTreeViewer and as the input to any other compare/merge viewer.

DiffNodes are typically created as the result of performing a compare with the Differencer.

Clients typically use this class as is, but may subclass if required.

See Also:
DiffTreeViewer, Differencer


Field Summary
 
Fields inherited from interface org.eclipse.compare.ITypedElement
FOLDER_TYPE, TEXT_TYPE, UNKNOWN_TYPE
 
Constructor Summary
DiffNode(IDiffContainer parent, int kind)
          Creates a new DiffNode and initializes with the given values.
DiffNode(IDiffContainer parent, int kind, ITypedElement ancestor, ITypedElement left, ITypedElement right)
          Creates a new DiffNode and initializes with the given values.
DiffNode(int kind)
          Creates a new DiffNode with the given diff kind.
DiffNode(int kind, ITypedElement ancestor, ITypedElement left, ITypedElement right)
          Creates a new DiffNode and initializes with the given values.
DiffNode(ITypedElement left, ITypedElement right)
          Creates a new DiffNode with diff kind Differencer.CHANGE and initializes with the given values.
 
Method Summary
 void addCompareInputChangeListener(ICompareInputChangeListener listener)
          Registers a listener for changes of this ICompareInput.
 void copy(boolean leftToRight)
          Copy one side (source) to the other side (destination) depending on the value of leftToRight.
 boolean dontExpand()
          Returns true if this node shouldn't automatically be expanded in a DiffTreeViewer.
 boolean equals(Object other)
           
protected  void fireChange()
          Sends out notification that a change has occured on the ICompareInput.
 ITypedElement getAncestor()
          Returns the ancestor side of this input.
 ITypedElement getId()
          Returns the first not-null input of this node.
 Image getImage()
          Returns an image for this object.
 ITypedElement getLeft()
          Returns the left side of this input.
 String getName()
          Returns the (non-null) name of the left or right side if they are identical.
 ITypedElement getRight()
          Returns the right side of this input.
 String getType()
          Returns the type of this object.
 int hashCode()
           
 void removeCompareInputChangeListener(ICompareInputChangeListener listener)
          Unregisters a ICompareInput listener.
 void setAncestor(ITypedElement ancestor)
          Sets the ancestor input to the given value.
 void setDontExpand(boolean dontExpand)
          Controls whether this node is not automatically expanded when displayed in a DiffTreeViewer.
 void setLeft(ITypedElement left)
          Sets the left input to the given value.
 void setRight(ITypedElement right)
          Sets the right input to the given value.
 
Methods inherited from class org.eclipse.compare.structuremergeviewer.DiffContainer
add, findChild, getChildren, hasChildren, remove, removeToRoot
 
Methods inherited from class org.eclipse.compare.structuremergeviewer.DiffElement
getKind, getParent, setKind, setParent
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.compare.structuremergeviewer.ICompareInput
getKind
 
Methods inherited from interface org.eclipse.compare.structuremergeviewer.IDiffElement
getKind, getParent, setParent
 

Constructor Detail

 

 

DiffNode

public DiffNode(IDiffContainer parent,
                int kind,
                ITypedElement ancestor,
                ITypedElement left,
                ITypedElement right)

Creates a new DiffNode and initializes with the given values.

Parameters:
parent - under which the new container is added as a child or null
kind - of difference (defined in Differencer)
ancestor - the common ancestor input to a compare
left - the left input to a compare
right - the right input to a compare


 

 

DiffNode

public DiffNode(ITypedElement left,
                ITypedElement right)

Creates a new DiffNode with diff kind Differencer.CHANGE and initializes with the given values.

Parameters:
left - the left input to a compare
right - the right input to a compare


 

 

DiffNode

public DiffNode(int kind,
                ITypedElement ancestor,
                ITypedElement left,
                ITypedElement right)

Creates a new DiffNode and initializes with the given values.

Parameters:
kind - of difference (defined in Differencer)
ancestor - the common ancestor input to a compare
left - the left input to a compare
right - the right input to a compare


 

 

DiffNode

public DiffNode(int kind)

Creates a new DiffNode with the given diff kind.

Parameters:
kind - of difference (defined in Differencer)


 

 

DiffNode

public DiffNode(IDiffContainer parent,
                int kind)

Creates a new DiffNode and initializes with the given values.

Parameters:
parent - under which the new container is added as a child or null
kind - of difference (defined in Differencer)
Method Detail

 

 

addCompareInputChangeListener

public void addCompareInputChangeListener(ICompareInputChangeListener listener)

Registers a listener for changes of this ICompareInput. Has no effect if an identical listener is already registered.

Specified by:
addCompareInputChangeListener in interface ICompareInput

Parameters:
listener - the listener to add


 

 

removeCompareInputChangeListener

public void removeCompareInputChangeListener(ICompareInputChangeListener listener)

Unregisters a ICompareInput listener. Has no effect if listener is not registered.

Specified by:
removeCompareInputChangeListener in interface ICompareInput

Parameters:
listener - the listener to remove


 

 

fireChange

protected void fireChange()

Sends out notification that a change has occured on the ICompareInput.


 

 

dontExpand

public boolean dontExpand()

Returns true if this node shouldn't automatically be expanded in a DiffTreeViewer.

Returns:
true if node shouldn't automatically be expanded


 

 

setDontExpand

public void setDontExpand(boolean dontExpand)

Controls whether this node is not automatically expanded when displayed in a DiffTreeViewer.

Parameters:
dontExpand - if true this node is not automatically expanded in DiffTreeViewer


 

 

getId

public ITypedElement getId()

Returns the first not-null input of this node. Method checks the three inputs in the order: ancestor, right, left.

Returns:
the first not-null input of this node


 

 

getName

public String getName()

Returns the (non-null) name of the left or right side if they are identical. Otherwise both names are concatenated (separated with a slash ('/')).

Subclasses may re-implement to provide a different name for this node.

Specified by:
getName in interface ITypedElement

Returns:
the name of this object


 

 

getImage

public Image getImage()

Description copied from interface: ITypedElement
Returns an image for this object. This image is used when displaying this object in the UI.

Specified by:
getImage in interface ITypedElement
Overrides:
getImage in class DiffElement


 

 

getType

public String getType()

Description copied from interface: ITypedElement
Returns the type of this object. For objects with a file name this is typically the file extension. For folders its the constant FOLDER_TYPE. The type is used for determining a suitable viewer for this object.

Specified by:
getType in interface ITypedElement
Overrides:
getType in class DiffElement


 

 

setAncestor

public void setAncestor(ITypedElement ancestor)

Sets the ancestor input to the given value.

Parameters:
ancestor - the new value for the ancestor input
Since:
3.0


 

 

getAncestor

public ITypedElement getAncestor()

Description copied from interface: ICompareInput
Returns the ancestor side of this input. Returns null if this input has no ancestor or in the two-way compare case.

Specified by:
getAncestor in interface ICompareInput

Returns:
the ancestor of this input, or null


 

 

setLeft

public void setLeft(ITypedElement left)

Sets the left input to the given value.

Parameters:
left - the new value for the left input


 

 

getLeft

public ITypedElement getLeft()

Description copied from interface: ICompareInput
Returns the left side of this input. Returns null if there is no left side (deletion or addition).

Specified by:
getLeft in interface ICompareInput

Returns:
the left side of this input, or null


 

 

setRight

public void setRight(ITypedElement right)

Sets the right input to the given value.

Parameters:
right - the new value for the right input


 

 

getRight

public ITypedElement getRight()

Description copied from interface: ICompareInput
Returns the right side of this input. Returns null if there is no right side (deletion or addition).

Specified by:
getRight in interface ICompareInput

Returns:
the right side of this input, or null


 

 

copy

public void copy(boolean leftToRight)

Description copied from interface: ICompareInput
Copy one side (source) to the other side (destination) depending on the value of leftToRight. This method is called from a merge viewer if a corresponding action ("take left" or "take right") has been pressed.

The implementation should handle the following cases:

In addition the implementation should send out notification to the registered ICompareInputChangeListener.

Specified by:
copy in interface ICompareInput

Parameters:
leftToRight - if true the left side is copied to the right side. If false the right side is copied to the left side


 

 

hashCode

public int hashCode()


 

 

equals

public boolean equals(Object other)


 

Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Eclipse Platform
Release 3.0
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.