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

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
Interface ICompareInput

All Known Subinterfaces:
ISynchronizationCompareInput, ISynchronizeModelElement
All Known Implementing Classes:
DiffNode

public interface ICompareInput

Interface for objects used as input to a two-way or three-way compare viewer. It defines API for accessing the three sides for the compare, and a name and image which is used when displaying the three way input in the UI, for example, in a title bar.

Note: at most two sides of an ICompareInput can be null, (as it is normal for additions or deletions) but not all three.

ICompareInput provides methods for registering ICompareInputChangeListeners that get informed if one (or more) of the three sides of an ICompareInput object changes its value.

For example when accepting an incoming addition the (non-null) left side of an ICompareInput is copied to the right side by means of method copy. This should trigger a call to compareInputChanged of registered ICompareInputChangeListeners.

Clients can implement this interface, or use the convenience implementation DiffNode.

See Also:
StructureDiffViewer, ContentMergeViewer, DiffNode

Method Summary
 void addCompareInputChangeListener ( ICompareInputChangeListener listener)
          Registers the given listener for notification.
 void copy (boolean leftToRight)
          Copy one side (source) to the other side (destination) depending on the value of leftToRight.
  ITypedElement getAncestor ()
          Returns the ancestor side of this input.
  Image getImage ()
          Returns an image representing this input.
 int getKind ()
          Returns the kind of difference between the three sides ancestor, left and right.
  ITypedElement getLeft ()
          Returns the left side of this input.
  String getName ()
          Returns name of input.
  ITypedElement getRight ()
          Returns the right side of this input.
 void removeCompareInputChangeListener ( ICompareInputChangeListener listener)
          Unregisters the given listener.
 

Method Detail

getName

String getName()
Returns name of input. This name is displayed when this input is shown in a viewer. In many cases this name is the name of one of the non-null sides or a combination thereof.

Returns:
name of input

getImage

Image getImage()
Returns an image representing this input. This image is typically displayed when this input is shown in a viewer. In many cases this image is the image of one of the non-null sides.

Returns:
image representing this input, or null if no icon should be shown

getKind

int getKind()
Returns the kind of difference between the three sides ancestor, left and right. This field is only meaningful if the ICompareInput is the result of another compare. In this case it is used together with getImage to compose a icon which reflects the kind of difference between the two or three elements.

Returns:
kind of difference (see Differencer)

getAncestor

ITypedElement getAncestor()
Returns the ancestor side of this input. Returns null if this input has no ancestor or in the two-way compare case.

Returns:
the ancestor of this input, or null

getLeft

ITypedElement getLeft()
Returns the left side of this input. Returns null if there is no left side (deletion or addition).

Returns:
the left side of this input, or null

getRight

ITypedElement getRight()
Returns the right side of this input. Returns null if there is no right side (deletion or addition).

Returns:
the right side of this input, or null

addCompareInputChangeListener

void addCompareInputChangeListener(
ICompareInputChangeListener listener)
Registers the given listener for notification. If the identical listener is already registered the method has no effect.

Parameters:
listener - the listener to register for changes of this input

removeCompareInputChangeListener

void removeCompareInputChangeListener(
ICompareInputChangeListener listener)
Unregisters the given listener. If the identical listener is not registered the method has no effect.

Parameters:
listener - the listener to unregister

copy

void copy(boolean leftToRight)
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.

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

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