IRISLIB database
StringStream Class Reference

A stream class that uses a String for its storage. More...

Inheritance diagram for StringStream:
Collaboration diagram for StringStream:

Public Member Functions

_.Library.String Read (_.Library.Integer pMaxReadLen, _.Library.Numeric pTimeout, _.Library.Status pSC)
 Read until pMaxReadLen chars are gotten or pTimeout expires. More...
 
_.Library.String ReadLine (_.Library.Integer pMaxReadLen, _.Library.Numeric pTimeout, _.Library.Status pSC, _.Library.String pLineTerminator)
 Read until pMaxReadLen chars are gotten, pTimeout expires, or a LineTerminator character is found. More...
 
_.Library.Integer SizeGet ()
 Return the current character size of the data stream.
 
 Write (_.Library.String pData, _.Library.Boolean pFlush, _.Library.Status pSC)
 Write pData to the stream buffer. More...
 
- Public Member Functions inherited from Stream
_.Library.Boolean Close (_.Library.Status pSC)
 Close the current stream.
 
_.Library.Integer CopyFrom (_.IO.I.Stream pSource, _.Library.Numeric pTimeout, _.Library.Boolean pFlush, _.Library.Status pSC)
 Copy all available data from pSource to the current stream buffer. More...
 
_.Library.Integer CopyReplace (_.IO.I.Stream pDest, _.Library.Integer pMaxReadLen, _.Library.Numeric pTimeout, _.Library.Numeric pIdleTimeout, _.Library.String pPrevBuf, _.Library.Boolean pFlush, _.Library.Boolean pInsensitive, _.Library.String pRewind, _.Library.Status pSC, pSearchReplace)
 Replace from the current stream the strings contained in a list of alternating search and replace target string arguments. More...
 
_.Library.Integer CopyReplaceArray (_.IO.I.Stream pDest, _.Library.Integer pMaxReadLen, _.Library.Numeric pTimeout, _.Library.Numeric pIdleTimeout, _.Library.String pPrevBuf, _.Library.Boolean pFlush, _.Library.Boolean pInsensitive, _.Library.String pRewind, _.Library.Status pSC, pSearchReplace)
 Replace from the current stream the strings contained in an array of alternating search and replace target string values called pSearchReplace. More...
 
 Flush (_.Library.Status pSC)
 Ensure that any data already written to the stream buffer are actually sent to the stream.
 
_.Library.Integer OutputToDevice (_.Library.Integer pLength, _.Library.Numeric pTimeout, _.Library.Status pSC)
 Copy all available data from the current stream to the current system device.
 
_.Library.String ReadUntil (_.Library.Integer pMaxReadLen, _.Library.Numeric pTimeout, _.Library.Numeric pIdleTimeout, _.Library.String pPrevBuf, _.Library.Boolean pInsensitive, _.Library.Integer pWhich, _.Library.Status pSC, pTarget)
 Read until one of the Target strings is found or a timeout occurs. More...
 
_.Library.String ReadUntilArray (_.Library.Integer pMaxReadLen, _.Library.Numeric pTimeout, _.Library.Numeric pIdleTimeout, _.Library.String pPrevBuf, _.Library.Boolean pInsensitive, _.Library.Integer pWhich, _.Library.Status pSC, pTargets)
 Read until one of the Target strings is found or a timeout occurs. More...
 
- Public Member Functions inherited from RegisteredObject
_.Library.Status OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount)
 This callback method is invoked when the current object is added to the SaveSet,. More...
 
_.Library.Status OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. More...
 
_.Library.Status OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned)
 This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More...
 
_.Library.Status OnNew ()
 This callback method is invoked by the <METHOD>New</METHOD> method to. More...
 
_.Library.Status OnValidateObject ()
 This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More...
 
- Public Member Functions inherited from CharacterIO
_.Library.Boolean IsCharacterGet ()
 (This property is overridden from IO.I.Stream but has a different meaning in this context of character IO.)
 
- Public Member Functions inherited from LineIO
 WriteLine (_.Library.String pLine, _.Library.Boolean pFlush, _.Library.Status pSC)
 Write pLine to the stream buffer, followed by the current LineTerminator characters. More...
 

Public Attributes

 CharEncoding
 Names the character encoding used to encode this character stream in its storage or transport format. More...
 
 Data
 Underlying encoded string data. More...
 
- Public Attributes inherited from Stream
 AtEnd
   More...
 
 DefaultFlushOnWrite
 InputStream interface. More...
 
 IsCharacter
   More...
 
 IsOpen
   More...
 
 Name
   More...
 
- Public Attributes inherited from ByteIO
 CharEncoding
 Info-only description of the character encoding that this byte stream represents, if it. More...
 
- Public Attributes inherited from CharacterIO
 CharEncoding
 Names the character encoding used to encode this character stream in its storage or transport format. More...
 
- Public Attributes inherited from LineIO
 LineTerminator
 A string of characters that will be written at the end of each WriteLine operation, and any of which will terminate a ReadLine() operation if it is encountered. More...
 
- Public Attributes inherited from CharacterSeekableIO
 ExternalBytePosition
   More...
 
 ExternalByteSize
   More...
 
- Public Attributes inherited from SeekableIO
 Position
   More...
 
 Size
   More...
 

Private Attributes

 __charposmap
 Map of byte positions to character positions. More...
 

Additional Inherited Members

- Static Public Attributes inherited from RegisteredObject
 CAPTION = None
 Optional name used by the Form Wizard for a class when generating forms. More...
 
 JAVATYPE = None
 The Java type to be used when exported.
 
 PROPERTYVALIDATION = None
 This parameter controls the default validation behavior for the object. More...
 

Detailed Description

A stream class that uses a String for its storage.

The underlying String may be in any supported encoding; Set the CharEncoding property to control the interpretation of the string. Note that on Unicode systems it is possible to use a string containing wide-character values. In this case the results of any encoding other than 'Native' are undefined.

Member Function Documentation

◆ Read()

_.Library.String Read ( _.Library.Integer  pMaxReadLen,
_.Library.Numeric  pTimeout,
_.Library.Status  pSC 
)

Read until pMaxReadLen chars are gotten or pTimeout expires.

On return, if pTimeout is unchanged it means the full timeout period expired. If the timeout period expired and the returned string is shorter than pMaxReadLen, then AtEnd will be 1.

Reimplemented from Stream.

◆ ReadLine()

_.Library.String ReadLine ( _.Library.Integer  pMaxReadLen,
_.Library.Numeric  pTimeout,
_.Library.Status  pSC,
_.Library.String  pLineTerminator 
)

Read until pMaxReadLen chars are gotten, pTimeout expires, or a LineTerminator character is found.

On return, if pTimeout=0 it means no timeout occurred. If pTimeout=0 and the returned string contains the full pMaxReadLen characters, it means no LineTerminator was encountered yet, even if the following character would be a LineTerminator. If pTimeout=0 and the returned string is shorter than pMaxReadLen, then either a LineTerminator or the End Of Stream (AtEnd = 1) was encountered. If pLineTerminator is defined, then the line is read until one of the given characters is encountered. On return, pLineTerminator contains the encountered character(s) if any.

Reimplemented from LineIO.

◆ Write()

Write ( _.Library.String  pData,
_.Library.Boolean  pFlush,
_.Library.Status  pSC 
)

Write pData to the stream buffer.

If pFlush is True, ensure that the data are actually sent to the stream.

Reimplemented from Stream.

Member Data Documentation

◆ CharEncoding

CharEncoding

Names the character encoding used to encode this character stream in its storage or transport format.

A value of "Native" in this property means the stream is encoded in the native format for the local installation, with no translation done. Values of "RawBytes" or "Binary" mean that each character is represented by the corresponding byte in the external storage or transport format. (This property is overridden from IO.IParts.ByteIO but has a different meaning in this character IO context.)  

◆ Data

Data

Underlying encoded string data.

 

◆ __charposmap

__charposmap
private

Map of byte positions to character positions.