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 StructureRootNode


java.lang.Object
  extended by 

org.eclipse.compare.structuremergeviewer.DocumentRangeNode
      extended by 
org.eclipse.compare.structuremergeviewer.StructureRootNode
All Implemented Interfaces:
IDocumentRange, IEditableContent, IEditableContentExtension, IEncodedStreamContentAccessor, IStreamContentAccessor, ITypedElement, IStructureComparator, IAdaptable, IDisposable

public class StructureRootNode
extends DocumentRangeNode
implements IDisposable, ITypedElement

A node that acts as the root of the tree returned from a StructureCreator. This node performs the following tasks tasks:

  1. It adapts to an ISharedDocumentAdapter that provides the proper document key (@see getAdapter(Class)).
  2. It invokes IStructureCreator.save(IStructureComparator, Object) when nodeChanged(DocumentRangeNode) is called.
  3. It disposes of the IDisposable provided in the constructor when dispose() is called.

This class may be subclassed by clients.

Since:
3.3

Field Summary
static  String ROOT_ID
          The string constant (value "root") that is used as the id of the root node.
static int ROOT_TYPE
          The integer constant (value 0) that is used as the type code of the root node.
 
Fields inherited from interface org.eclipse.compare. ITypedElement
FOLDER_TYPE, TEXT_TYPE, UNKNOWN_TYPE
 
Fields inherited from interface org.eclipse.compare.contentmergeviewer. IDocumentRange
RANGE_CATEGORY
 
Constructor Summary
StructureRootNode ( IDocument document, Object input, StructureCreator creator, ISharedDocumentAdapter adapter)
          Create the structure root node.
 
Method Summary
 void dispose ()
          Disposes of this service.
  Object getAdapter ( Class adapter)
          Override IAdaptable.getAdapter(Class) in order to provide an ISharedDocumentAdapter that provides the proper look up key based on the input from which this structure node was created.
  Image getImage ()
          Returns an image for this object.
  String getName ()
          Returns the name of this object.
  String getType ()
          Returns the type of this object.
 boolean isReadOnly ()
          Return whether the typed element being displayed is read-only. a read-only element will require a call to validateEdit before the element can be modified on disk.
protected  void nodeChanged ( DocumentRangeNode node)
          Override in order to invoke IStructureCreator.save(IStructureComparator, Object) when the contents of a node have changed.
  ITypedElement replace ( ITypedElement child, ITypedElement other)
          This method is called on a parent to add or remove a child, or to copy the contents of a child.
  IStatus validateEdit ( Shell shell)
          If the element is read-only, this method should be called to attempt to make it writable.
 
Methods inherited from class org.eclipse.compare.structuremergeviewer. DocumentRangeNode
addChild, equals, getAppendPosition, getCharset, getChildren, getContents, getDocument, getId, getParentNode, getRange, getTypeCode, hashCode, internalSetContents, isEditable, setAppendPosition, setContent, setId, setLength
 
Methods inherited from class java.lang. Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROOT_TYPE

public static final int ROOT_TYPE
The integer constant (value 0) that is used as the type code of the root node.

See Also:
DocumentRangeNode.getTypeCode(), Constant Field Values

ROOT_ID

public static final 
String ROOT_ID
The string constant (value "root") that is used as the id of the root node.

See Also:
DocumentRangeNode.getId(), Constant Field Values
Constructor Detail

StructureRootNode

public StructureRootNode(
IDocument document,
                         
Object input,
                         
StructureCreator creator,
                         
ISharedDocumentAdapter adapter)
Create the structure root node.

Parameters:
document - the document
input - the input associated with the document
creator - the structure creator that is creating the node
adapter - the shared document adapter from which the document was obtained or null if the document was not obtained from an ISharedDocumentAdapter
Method Detail

dispose

public void dispose()
Description copied from interface: IDisposable
Disposes of this service. All resources must be freed. All listeners must be detached. Dispose will only be called once during the life cycle of a service.

Specified by:
dispose in interface IDisposable

getAdapter

public 
Object getAdapter(
Class adapter)
Override IAdaptable.getAdapter(Class) in order to provide an ISharedDocumentAdapter that provides the proper look up key based on the input from which this structure node was created.

Specified by:
getAdapter in interface IAdaptable
Overrides:
getAdapter in class DocumentRangeNode
Parameters:
adapter - the adapter class to look up
Returns:
the object adapted to the given class or null
See Also:
IAdaptable.getAdapter(Class)

nodeChanged

protected void nodeChanged(
DocumentRangeNode node)
Override in order to invoke IStructureCreator.save(IStructureComparator, Object) when the contents of a node have changed.

Overrides:
nodeChanged in class DocumentRangeNode
Parameters:
node - the changed node

replace

public 
ITypedElement replace(
ITypedElement child,
                             
ITypedElement other)
Description copied from interface: IEditableContent
This method is called on a parent to add or remove a child, or to copy the contents of a child. What to do is encoded in the two arguments as follows:
add: dest == null src != null
remove: dest != null src == null
copy: dest != null src != null

Specified by:
replace in interface IEditableContent
Overrides:
replace in class DocumentRangeNode
Parameters:
child - the existing child of this object to be replaced; if null a new child can be added.
other - the new child to be added or replaced; if null an existing child can be removed.
Returns:
the argument dest

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
Returns:
the image of this object or null if this type of input has no image

getName

public 
String getName()
Description copied from interface: ITypedElement
Returns the name of this object. The name is used when displaying this object in the UI.

Specified by:
getName in interface ITypedElement
Returns:
the name of this object

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
Returns:
the type of this object

isReadOnly

public boolean isReadOnly()
Description copied from interface: IEditableContentExtension
Return whether the typed element being displayed is read-only. a read-only element will require a call to validateEdit before the element can be modified on disk.

Specified by:
isReadOnly in interface IEditableContentExtension
Overrides:
isReadOnly in class DocumentRangeNode
Returns:
whether the typed element is read-only

validateEdit

public 
IStatus validateEdit(
Shell shell)
Description copied from interface: IEditableContentExtension
If the element is read-only, this method should be called to attempt to make it writable.

Specified by:
validateEdit in interface IEditableContentExtension
Overrides:
validateEdit in class DocumentRangeNode
Parameters:
shell - a shell used to prompt the user if required.
Returns:
a status object that is OK if things are fine, otherwise a status describing reasons why modifying the given files is not reasonable. A status with a severity of CANCEL is returned if the validation was canceled, indicating the edit should not proceed.

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