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.InputStreamAInputStreamthat reads data of a document identified by it's HDOC from the archive.
-
-
Field Summary
Fields Modifier and Type Field Description protected intbufferPointerprotected intbufferSizeprotected byte[]byteBufferprotected booleanclosedprotected booleancurRevisionprotected intdocElementprotected java.lang.StringdocHdocprotected com.saperion.jni.SaJNIDocHandlehandleprotected booleanstarted
-
Constructor Summary
Constructors Constructor Description SaRMIInputStream(java.lang.String hdoc, boolean currentRevision, int elementNumber, boolean withAnnotations, SaRMIClientCommand connector, java.lang.Object monitor)Constructs theSaRMIInputStreaminstance 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 theSaRMIInputStreaminstance 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 theSaRMIInputStreaminstance 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 intavailable()Deprecated.voidclose()closes the input stream of the current document.intgetDocElement()Retrieves the document index.java.lang.StringgetDocHdoc()Retrieves the hdoc.java.lang.StringgetFileName()booleanisCurrentRevision()True, if the current revision should be fetched.booleanisDummy()If true, no content will be read from the backend.booleanisWithAnnotations()True, if annotations should be saved on the document.booleanmarkSupported()Tests if this input stream supports themarkandresetmethods.intread()Reads the next byte of the document from the archive.protected com.saperion.jni.SaJNIReadBufferreadDocumentFirst(java.lang.String docHdoc, boolean curRevision, int docElement, boolean withAnnotations)voidreset()voidsetFileName(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 theSaRMIInputStreaminstance 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 theSaRMIInputStreaminstance 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 theSaRMIInputStreaminstance 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.IOExceptionReads the next byte of the document from the archive.- Specified by:
readin 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.IOExceptioncloses the input stream of the current document.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException- Exception- See Also:
InputStream.close()
-
reset
public void reset() throws java.io.IOException- Overrides:
resetin classjava.io.InputStream- Throws:
java.io.IOException- IOException- See Also:
InputStream.reset()
-
markSupported
public boolean markSupported()
Tests if this input stream supports themarkandresetmethods. Whether or notmarkandresetare supported is an invariant property of a particular input stream instance. ThemarkSupportedmethod ofInputStreamreturnsfalse.- Overrides:
markSupportedin classjava.io.InputStream- Returns:
trueif this stream instance supports the mark and reset methods;falseotherwise.- 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.IOExceptionDeprecated.- Overrides:
availablein 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
-
-