uk.ac.starlink.util
Class ByteArrayDataSource
java.lang.Object
uk.ac.starlink.util.DataSource
uk.ac.starlink.util.ByteArrayDataSource
public class ByteArrayDataSource
- extends DataSource
DataSource implementation that uses an internal byte buffer to store
the data.
- Since:
- 1 Feb 2007
Method Summary |
java.lang.String |
getName()
Returns a name for this source. |
java.io.InputStream |
getRawInputStream()
Provides a new InputStream for this data source. |
long |
getRawLength()
Returns the length in bytes of the stream returned by
getRawInputStream, if known. |
Methods inherited from class uk.ac.starlink.util.DataSource |
close, forceCompression, getCompression, getHybridInputStream, getInputStream, getInputStream, getIntro, getIntroLimit, getLength, getMarkWorkaround, getPosition, getSystemId, getURL, makeDataSource, makeDataSource, setCompression, setIntroLimit, setMarkWorkaround, setName, setPosition, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ByteArrayDataSource
public ByteArrayDataSource(java.lang.String name,
byte[] buffer)
- Constructor.
- Parameters:
name
- data source namebuffer
- containing byte content of the source
getName
public java.lang.String getName()
- Description copied from class:
DataSource
- Returns a name for this source.
This name is mainly intended as a label identifying the source for use
in informational messages; it is not in general intended to be used
to provide an absolute reference to the source. Thus, for instance,
if the source references a file, its name might be a relative
pathname or simple filename, rather than its absolute pathname.
To identify the source absolutely, the
DataSource.getURL()
method
(or some suitable class-specific method) should be used.
If this source has a position, it should probably form part of
this name.
- Overrides:
getName
in class DataSource
- Returns:
- a name
getRawInputStream
public java.io.InputStream getRawInputStream()
- Description copied from class:
DataSource
- Provides a new InputStream for this data source.
This method should be implemented by subclasses to provide
a new InputStream giving the raw content of the source each time
it is called. The general contract of this method is that each
time it is called it will return a stream with the same content.
- Specified by:
getRawInputStream
in class DataSource
- Returns:
- an InputStream containing the data of this source
getRawLength
public long getRawLength()
- Description copied from class:
DataSource
- Returns the length in bytes of the stream returned by
getRawInputStream, if known. If the length is not known
then -1 should be returned.
The implementation of this method in DataSource returns -1;
subclasses should override it if they can determine their length.
- Overrides:
getRawLength
in class DataSource
- Returns:
- the length of the raw input stream, or -1