Overview | Package | Class | 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
Class ResourceNode

    java.lang.Object
      org.eclipse.compare.BufferedContent
          org.eclipse.compare.ResourceNode

All Implemented Interfaces:
  IContentChangeNotifier, IEditableContent, IEncodedStreamContentAccessor, IModificationDate, IStreamContentAccessor, IStructureComparator, ITypedElement

public class ResourceNode
extends BufferedContent
implements IEncodedStreamContentAccessor, IStructureComparator, ITypedElement, IEditableContent, IModificationDate

A `ResourceNode` wrappers an `IResources` so that it can be used as input for the differencing engine (interfaces `IStructureComparator` and `ITypedElement`) and the `ReplaceWithEditionDialog` (interfaces `ITypedElement` and `IModificationDate`).

Clients may instantiate this class; it is not intended to be subclassed.

See Also:
  `EditionSelectionDialog`

Field Summary

Fields inherited from interface org.eclipse.compare.ITypedElement
`FOLDER_TYPE, TEXT_TYPE, UNKNOWN_TYPE`

Constructor Summary
`ResourceNode(IResource resource)` Creates a `ResourceNode` for the given resource.

Method Summary
`protected IStructureComparator` | `createChild(IResource child)` This hook method is called from `getChildren` once for every member of a container resource.
`protected InputStream` | `createStream()` Returns an open stream if the corresponding resource implements the `IStorage` interface.
`boolean` | `equals(Object other)` Returns `true` if the other object is of type `ITypedElement` and their names are identical.
`String` | `getCharset()` Returns the name of a charset encoding to be used when decoding this stream accessor's contents into characters.
`Object[]` | `getChildren()` Returns an iterator for all children of this object or `null` if there are no children.
`InputStream` | `getContents()` Returns an open `InputStream` for this object which can be used to retrieve the object's content.
`Image` | `getImage()` Returns an image for this object.
`long` | `getModificationDate()` Returns the modification time of this object.
`String` | `getName()` Returns the name of this object.
`IResource` | `getResource()` Returns the corresponding resource for this object.
`String` | `getType()` Returns the type of this object.
`int` | `hashCode()` Returns the hash code of the name.
`boolean` | `isEditable()` Returns `true` if this object can be modified.
`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.

Methods inherited from class org.eclipse.compare.BufferedContent
`addContentChangeListener, discardBuffer, fireContentChanged, getContent, removeContentChangeListener, setContent`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.eclipse.compare.IEditableContent
`setContent`

Constructor Detail

### ResourceNode

    public ResourceNode(IResource resource)

  Creates a `ResourceNode` for the given resource.

Parameters:
  `resource` - the resource

Method Detail

### getResource

    public IResource getResource()

  Returns the corresponding resource for this object.

  Returns:
    the corresponding resource

### getContents

    public InputStream getContents()
                            throws CoreException

  Description copied from interface: `IStreamContentAccessor`
  Returns an open `InputStream` for this object which can be used to retrieve the object's content. The client is responsible for closing the stream when finished. Returns `null` if this object has no streamable contents.

  Specified by:
    `getContents` in interface `IStreamContentAccessor`
  Overrides:
    `getContents` in class `BufferedContent`
  Throws:
    `CoreException`

### getModificationDate

    public long getModificationDate()

  Description copied from interface: `IModificationDate`
  Returns the modification time of this object.

  Note that this value should only be used to give the user a general idea of how old the object is.

  Specified by:
    `getModificationDate` in interface `IModificationDate`
  Returns:
    the time of last modification, in milliseconds since January 1, 1970, 00:00:00 GMT

### 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

### 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

### equals

    public boolean equals(Object other)

  Returns `true` if the other object is of type `ITypedElement` and their names are identical. The content is not considered.

  Specified by:
    `equals` in interface `IStructureComparator`

### hashCode

    public int hashCode()

  Returns the hash code of the name.

### getChildren

    public Object[] getChildren()

  Description copied from interface: `IStructureComparator`
  Returns an iterator for all children of this object or `null` if there are no children.

  Specified by:
    `getChildren` in interface `IStructureComparator`
  Returns:
    an array with all children of this object, or an empty array if there are no children

### createChild

    protected IStructureComparator createChild(IResource child)

  This hook method is called from `getChildren` once for every member of a container resource. This implementation creates a new `ResourceNode` for the given child resource. Clients may override this method to create a different type of `IStructureComparator` or to filter children by returning `null`.

  Parameters:
    `child` - the child resource for which a `IStructureComparator` must be returned
  Returns:
    a `ResourceNode` for the given child or `null`

### createStream

    protected InputStream createStream()
                                throws CoreException

  Returns an open stream if the corresponding resource implements the `IStorage` interface. Otherwise the value `null` is returned.

  Specified by:
    `createStream` in class `BufferedContent`
  Returns:
    a buffered input stream containing the contents of this storage
  Throws:
    `CoreException` - if the contents of this storage could not be accessed

### isEditable

    public boolean isEditable()

  Description copied from interface: `IEditableContent`
  Returns `true` if this object can be modified. If it returns `false` the other methods of this API must not be called.

  Specified by:
    `isEditable` in interface `IEditableContent`
  Returns:
    `true` if this object can be modified

### 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: | child == null | other != null
  remove: | child != null | other == null
  copy: | child != null | other != null

  Specified by:
    `replace` in interface `IEditableContent`

### getCharset

    public String getCharset()

  Description copied from interface: `IEncodedStreamContentAccessor`
  Returns the name of a charset encoding to be used when decoding this stream accessor's contents into characters. Returns `null` if a proper encoding cannot be determined.

  Note: this method does not check whether the result is a supported charset name. Callers should be prepared to handle `UnsupportedEncodingException` where this charset is used.

  Specified by:
    `getCharset` in interface `IEncodedStreamContentAccessor`
  Returns:
    the name of a charset, or `null`
  See Also:
    `IStreamContentAccessor.getContents()`

Overview | Package | Class | 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.