org.eclipse.compare
Class BufferedContent
java.lang.Object
org.eclipse.compare.BufferedContent
-
All Implemented Interfaces:
-
IContentChangeNotifier,
IStreamContentAccessor
-
Direct Known Subclasses:
-
ResourceNode
-
public abstract class BufferedContent
- extends
Object
- implements
IContentChangeNotifier,
IStreamContentAccessor
Abstract implementation for a buffered IStreamContentAccessor
.
Subclasses must implement the createStream
method
to connect the buffered content with a streamable source (e.g., a file).
As long as the contents of BufferedContent
is only retrieved as an input stream
(by means of getContents
) and the BufferedContent
is not modified (with
setContent
) no buffering takes place.
Buffering starts when either method getContent
or setContent
is called.
-
See Also:
-
IContentChangeNotifier
,
IStreamContentAccessor
Constructor Summary
|
protected
|
BufferedContent
()
Creates a buffered stream content accessor. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
BufferedContent
protected BufferedContent()
- Creates a buffered stream content accessor.
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
-
-
Returns:
- an input stream containing the contents of this object
-
Throws:
-
CoreException
- if the contents of this object could not be accessed
createStream
protected abstract
InputStream createStream()
throws
CoreException
- Creates and returns a stream for reading the contents.
Subclasses must implement this method.
-
-
-
Returns:
- the stream from which the content is read
-
Throws:
-
CoreException
- if the contents could not be accessed
setContent
public void setContent(byte[] contents)
- Sets the contents. Registered content change listeners are notified.
-
-
-
Parameters:
-
contents
- the new contents
getContent
public byte[] getContent()
- Returns the contents as an array of bytes.
-
-
-
Returns:
- the contents as an array of bytes, or
null
if
the contents could not be accessed
discardBuffer
public void discardBuffer()
- Discards the buffered content.
-
-
addContentChangeListener
public void addContentChangeListener(
IContentChangeListener listener)
-
Description copied from interface:
IContentChangeNotifier
- Adds a content change listener to this notifier.
Has no effect if an identical listener is already registered.
-
-
Specified by:
-
addContentChangeListener
in interface
IContentChangeNotifier
-
-
Parameters:
-
listener
- a content changed listener
removeContentChangeListener
public void removeContentChangeListener(
IContentChangeListener listener)
-
Description copied from interface:
IContentChangeNotifier
- Removes the given content changed listener from this notifier.
Has no effect if the listener is not registered.
-
-
Specified by:
-
removeContentChangeListener
in interface
IContentChangeNotifier
-
-
Parameters:
-
listener
- a content changed listener
fireContentChanged
protected void fireContentChanged()
- Notifies all registered
IContentChangeListener
s of a content change.
-
-
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.