class SimpleMemoryStream extends AnyRef
This is a stream with a lookback buffer. It allows you to read bytes from it and sometime go back and fetch previous bytes. It also supports searching for a specific sequence of bytes.
The pattern of usage for this stream is this.
- Create an instance of za.co.absa.cobrix.cobol.reader.stream.SimpleStream.
- Create an instance of SimpleMemoryStream and pass the lookback buffer size and the object created at the first step.
- Search a sequence of bytes in the stream.
- Once the sequence of bytes is found you can fetch bytes before the sequence and after it by providing the specific indexes. This memory stream provides getBytes interface which accepts indexes. The stream will be read sequentially and once values from bigger indexes are read you can look back only limited number of bytes.
- Alphabetic
- By Inheritance
- SimpleMemoryStream
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
SimpleMemoryStream(stream: SimpleStream, lookbackBufferSize: Int)
- stream
An instance of za.co.absa.cobrix.cobol.reader.stream.SimpleStream as the source of bytes.
- lookbackBufferSize
The number of bytes to keep in the look back buffer.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def getBytes(buffer: Array[Byte], startIndex: Long, endIndex: Long): Int
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- var largestAvailableIndex: Long
- val loopbackBuffer: Array[Byte]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
search(searchBytes: Array[Byte], startIndex: Long): Long
Searches the stream for the specified sequence of bytes.
Searches the stream for the specified sequence of bytes. Returns the index of the beginning of the found sequence, -1 if not found.
-
def
searchOutOfLookbackBuffer(searchBytes: Array[Byte], initialSearchState: Int): Long
Searches the sequence of bytes outsize of the lookback buffer.
Searches the sequence of bytes outsize of the lookback buffer. Returns the index of the beginning of the found sequence, -1 if not found.
- var smallestAvailableIndex: Long
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()