Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.compare.structuremergeviewer
Class DiffNode


java.lang.Object
  extended by 

org.eclipse.compare.structuremergeviewer.DiffElement
      extended by 

org.eclipse.compare.structuremergeviewer.DiffContainer
          extended by 
org.eclipse.compare.structuremergeviewer.DiffNode
All Implemented Interfaces:
ITypedElement, ICompareInput, IDiffContainer, IDiffElement

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 occurred 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 ()
          The DiffElement implementation of this ITypedInput method returns null.
  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 ()
          The DiffElement implementation of this ITypedElement method returns ITypedElement.UNKNOWN_TYPE.
 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 occurred 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
Specified by:
getName in interface ICompareInput
Returns:
the name of this node.

getImage

public 
Image getImage()
Description copied from class: DiffElement
The DiffElement implementation of this ITypedInput method returns null. Subclasses may re-implement to provide an image for this element.

Specified by:
getImage in interface ITypedElement
Specified by:
getImage in interface ICompareInput
Overrides:
getImage in class DiffElement
Returns:
null.

getType

public 
String getType()
Description copied from class: DiffElement
The DiffElement implementation of this ITypedElement method returns ITypedElement.UNKNOWN_TYPE. Subclasses may re-implement to provide a type for this element.

Specified by:
getType in interface ITypedElement
Overrides:
getType in class DiffElement
Returns:
ITypedElement.UNKNOWN_TYPE.

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:

  • if the source side is null the destination must be deleted,
  • if the destination is null the destination must be created and filled with the contents from the source,
  • if both sides are non-null the contents of source must be copied to destination.
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()
Overrides:
hashCode in class Object

equals

public boolean equals(
Object other)
Overrides:
equals in class Object

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire