Package uk.ac.starlink.util
Class ByteArrayDataSource
java.lang.Object
uk.ac.starlink.util.DataSource
uk.ac.starlink.util.ByteArrayDataSource
DataSource implementation that uses an internal byte buffer to store
the data.
- Since:
- 1 Feb 2007
- Author:
- Mark Taylor
-
Field Summary
Fields inherited from class uk.ac.starlink.util.DataSource
DEFAULT_INTRO_LIMIT, MARK_WORKAROUND_PROPERTY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetName()
Returns a name for this source.Provides a new InputStream for this data source.long
Returns the length in bytes of the stream returned bygetRawInputStream
, 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, makeDataSource, setCompression, setIntroLimit, setMarkWorkaround, setName, setPosition, toString
-
Constructor Details
-
ByteArrayDataSource
Constructor.- Parameters:
name
- data source namebuffer
- containing byte content of the source
-
-
Method Details
-
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, theDataSource.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 classDataSource
- Returns:
- a name
-
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 classDataSource
- 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 bygetRawInputStream
, if known. If the length is not known then -1 should be returned. The implementation of this method inDataSource
returns -1; subclasses should override it if they can determine their length.- Overrides:
getRawLength
in classDataSource
- Returns:
- the length of the raw input stream, or -1
-