public class ResourceNode extends BufferedContent implements IEncodedStreamContentAccessor, IStructureComparator, ITypedElement, IEditableContent, IModificationDate, IResourceProvider
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.
EditionSelectionDialogFOLDER_TYPE, TEXT_TYPE, UNKNOWN_TYPE| Constructor and Description |
|---|
ResourceNode(IResource resource)
Creates a
ResourceNode for the given resource. |
| Modifier and Type | Method and Description |
|---|---|
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 whether some other object is "equal to" this one
with respect to a structural comparison.
|
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.
|
addContentChangeListener, discardBuffer, fireContentChanged, getContent, removeContentChangeListener, setContentclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitsetContentpublic ResourceNode(IResource resource)
ResourceNode for the given resource.resource - the resourcepublic IResource getResource()
getResource in interface IResourceProviderpublic InputStream getContents() throws CoreException
IStreamContentAccessorInputStream 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.getContents in interface IStreamContentAccessorgetContents in class BufferedContentCoreException - if the contents of this object could not be accessedpublic long getModificationDate()
IModificationDateNote that this value should only be used to give the user a general idea of how old the object is.
getModificationDate in interface IModificationDatepublic String getName()
ITypedElementgetName in interface ITypedElementpublic String getType()
ITypedElementFOLDER_TYPE.
The type is used for determining a suitable viewer for this object.getType in interface ITypedElementpublic Image getImage()
ITypedElementgetImage in interface ITypedElementnull if this type of input has no imagepublic boolean equals(Object other)
IStructureComparatorequals would return true
if two methods have the same signature (the argument names and the
method body might differ).equals in interface IStructureComparatorequals in class Objectother - the reference object with which to comparetrue if this object is the same as the other argument; false otherwiseObject.equals(java.lang.Object)public int hashCode()
public Object[] getChildren()
IStructureComparatornull
if there are no children.getChildren in interface IStructureComparatorprotected IStructureComparator createChild(IResource child)
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.child - the child resource for which a IStructureComparator must be returnedResourceNode for the given child or nullprotected InputStream createStream() throws CoreException
IStorage interface. Otherwise the value null is returned.createStream in class BufferedContentCoreException - if the contents of this storage could not be accessedpublic boolean isEditable()
IEditableContenttrue if this object can be modified.
If it returns false the other methods of this API must not be called.isEditable in interface IEditableContenttrue if this object can be modifiedpublic ITypedElement replace(ITypedElement child, ITypedElement other)
IEditableContent| add: | dest == null | src != null |
| remove: | dest != null | src == null |
| copy: | dest != null | src != null |
replace in interface IEditableContentchild - 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.destpublic String getCharset()
IEncodedStreamContentAccessornull 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.
getCharset in interface IEncodedStreamContentAccessornullIStreamContentAccessor.getContents()Guidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.