Skip to main content

%IO.MetaCharacterStream

Class %IO.MetaCharacterStream Extends (%IO.I.CharacterSeekableStream, %IO.IParts.MetaIO) [ Inheritance = right, System = 2 ]

Provides a %IO seekable stream wrapper for one or more %IO streams, %Library streams or %Stream streams. It can use different streams for input/Read and output/Write, and it can write a copy of input stream data to one or more additional output streams.

Properties

%GlobalLineExtra

Property %GlobalLineExtra As %String [ Internal ];

Buffer to hold leftover line data when reading GlobalStream line where LineTerminator is a superset string

Methods

%OnNew

Method %OnNew(pBaseStream As %IO.I.Stream = "") As %Status

ReadLine

Method ReadLine(pMaxReadLen As %Integer, ByRef pTimeout As %Numeric = -1, Output pSC As %Status, ByRef pLineTerminator As %String = {..LineTerminator}) As %String

AtEndGet

Method AtEndGet() As %Boolean [ CodeMode = expression ]

BindInput

Method BindInput(pInputStream As %IO.I.Stream, Output pSC As %Status)

delegateRead

ClassMethod delegateRead(s As %RegisteredObject, ByRef pMaxReadLen As %Integer, ByRef pTimeout As %Numeric, Output pSC As %Status) [ Private ]

delegateWrite

Method delegateWrite(s As %RegisteredObject, pData As %String, ByRef pFlush As %Boolean, Output pSC As %Status) [ Private ]

Seek

Method Seek(pPosition As %Integer, Output pSC As %Status) As %Boolean

SizeGet

Method SizeGet() As %Integer

PositionGet

Method PositionGet() As %Integer

IsOpenGet

Method IsOpenGet() As %Boolean

LineTerminatorSet

Method LineTerminatorSet(pTerm As %String) As %Status