Package com.saperion.rmi
Class SaRMIInputStream
- java.lang.Object
-
- java.io.InputStream
-
- com.saperion.rmi.SaRMIInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
SaRMIInputStreamSeekable
public class SaRMIInputStream extends java.io.InputStream
AInputStream
that reads data of a document identified by it's HDOC from the archive.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
bufferPointer
protected int
bufferSize
protected byte[]
byteBuffer
protected boolean
closed
protected boolean
curRevision
protected int
docElement
protected java.lang.String
docHdoc
protected com.saperion.jni.SaJNIDocHandle
handle
protected boolean
started
-
Constructor Summary
Constructors Constructor Description SaRMIInputStream(java.lang.String hdoc, boolean currentRevision, int elementNumber, boolean withAnnotations, SaRMIClientCommand connector, java.lang.Object monitor)
Constructs theSaRMIInputStream
instance which represents the input stream of the document (will be returned from the Saperion backend).SaRMIInputStream(java.lang.String hdoc, boolean currentRevision, int elementNumber, SaRMIClientCommand connector, boolean dummy, java.lang.Object monitor)
Constructs theSaRMIInputStream
instance which represents the input stream of the document (will be returned from the Saperion backend).SaRMIInputStream(java.lang.String hdoc, boolean currentRevision, int elementNumber, SaRMIClientCommand connector, java.lang.Object monitor)
Constructs theSaRMIInputStream
instance which represents the input stream of the document (will be returned from the Saperion backend).
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
available()
Deprecated.void
close()
closes the input stream of the current document.int
getDocElement()
Retrieves the document index.java.lang.String
getDocHdoc()
Retrieves the hdoc.java.lang.String
getFileName()
boolean
isCurrentRevision()
True, if the current revision should be fetched.boolean
isDummy()
If true, no content will be read from the backend.boolean
isWithAnnotations()
True, if annotations should be saved on the document.boolean
markSupported()
Tests if this input stream supports themark
andreset
methods.int
read()
Reads the next byte of the document from the archive.protected com.saperion.jni.SaJNIReadBuffer
readDocumentFirst(java.lang.String docHdoc, boolean curRevision, int docElement, boolean withAnnotations)
void
reset()
void
setFileName(java.lang.String newFileName)
-
-
-
Field Detail
-
docHdoc
protected final java.lang.String docHdoc
-
docElement
protected final int docElement
-
byteBuffer
protected byte[] byteBuffer
-
bufferSize
protected int bufferSize
-
started
protected boolean started
-
closed
protected boolean closed
-
bufferPointer
protected int bufferPointer
-
handle
protected com.saperion.jni.SaJNIDocHandle handle
-
curRevision
protected boolean curRevision
-
-
Constructor Detail
-
SaRMIInputStream
public SaRMIInputStream(java.lang.String hdoc, boolean currentRevision, int elementNumber, SaRMIClientCommand connector, java.lang.Object monitor)
Constructs theSaRMIInputStream
instance which represents the input stream of the document (will be returned from the Saperion backend).- Parameters:
hdoc
- Document HDOCcurrentRevision
- flag indicating that the current revision of the document should be retrieved by resolving hdocelementNumber
- number of the structure-element to read fromconnector
- the rmi-client connector used to read data from the archivemonitor
- a ClassicConnector instance used to synchronize calls on the connector
-
SaRMIInputStream
public SaRMIInputStream(java.lang.String hdoc, boolean currentRevision, int elementNumber, boolean withAnnotations, SaRMIClientCommand connector, java.lang.Object monitor)
Constructs theSaRMIInputStream
instance which represents the input stream of the document (will be returned from the Saperion backend).- Parameters:
hdoc
- Document HDOCcurrentRevision
- flag indicating that the current revision of the document should be retrieved by resolving hdocelementNumber
- number of the structure-element to read fromwithAnnotations
- if true, annotations will be saved on the document streamconnector
- the rmi-client connector used to read data from the archivemonitor
- a ClassicConnector instance used to synchronize calls on the connector
-
SaRMIInputStream
public SaRMIInputStream(java.lang.String hdoc, boolean currentRevision, int elementNumber, SaRMIClientCommand connector, boolean dummy, java.lang.Object monitor)
Constructs theSaRMIInputStream
instance which represents the input stream of the document (will be returned from the Saperion backend).- Parameters:
hdoc
- Document HDOCcurrentRevision
- flag indicating that the current revision of the document should be retrieved by resolving hdocelementNumber
- number of the structure-element to read fromconnector
- the rmi-client connector used to read data from the archivedummy
- if true, no content will be read from the backend. Instead themonitor
- a ClassicConnector instance used to synchronize calls on the connector
-
-
Method Detail
-
read
public int read() throws java.io.IOException
Reads the next byte of the document from the archive.- Specified by:
read
in classjava.io.InputStream
- Returns:
- Next byte from stream
- Throws:
java.io.IOException
- Exception- See Also:
InputStream.read()
-
readDocumentFirst
protected com.saperion.jni.SaJNIReadBuffer readDocumentFirst(java.lang.String docHdoc, boolean curRevision, int docElement, boolean withAnnotations) throws SaSystemException, SaAuthenticationException, SaGetNodeException
-
close
public void close() throws java.io.IOException
closes the input stream of the current document.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
- Exception- See Also:
InputStream.close()
-
reset
public void reset() throws java.io.IOException
- Overrides:
reset
in classjava.io.InputStream
- Throws:
java.io.IOException
- IOException- See Also:
InputStream.reset()
-
markSupported
public boolean markSupported()
Tests if this input stream supports themark
andreset
methods. Whether or notmark
andreset
are supported is an invariant property of a particular input stream instance. ThemarkSupported
method ofInputStream
returnsfalse
.- Overrides:
markSupported
in classjava.io.InputStream
- Returns:
true
if this stream instance supports the mark and reset methods;false
otherwise.- See Also:
InputStream.mark(int)
,InputStream.reset()
-
getFileName
public java.lang.String getFileName()
- Returns:
- file name
-
setFileName
public void setFileName(java.lang.String newFileName)
- Parameters:
newFileName
- File name to set
-
available
@Deprecated public int available() throws java.io.IOException
Deprecated.- Overrides:
available
in classjava.io.InputStream
- Returns:
- the number of bytes that can be read from this input stream without blocking.
- Throws:
java.io.IOException
- IO exception- See Also:
InputStream.available()
-
getDocHdoc
public java.lang.String getDocHdoc()
Retrieves the hdoc.- Returns:
- target document hdoc
-
getDocElement
public int getDocElement()
Retrieves the document index.- Returns:
- document index
-
isCurrentRevision
public boolean isCurrentRevision()
True, if the current revision should be fetched.- Returns:
- isCurrentRevision
-
isDummy
public boolean isDummy()
If true, no content will be read from the backend. Instead the read method will always return -1.- Returns:
- isDummy
-
isWithAnnotations
public boolean isWithAnnotations()
True, if annotations should be saved on the document.- Returns:
- true, if the withAnnotations flag is set to true
-
-