property BuildCharPosMap as %Boolean [ InitialExpression = 1 ];
Flag to control whether the stream object should maintain the charposmap
map between character positions and external byte positions when the file is opened using a
multibyte character encoding. This flag is ignored when the character set only contains single-bye characters.
The flag is initialized to 0 when a file is not opened with the READ flag, but can always be modified
by the user after Open()() has been called.
Inherited description: This callback method is invoked by the %New() method to
provide notification that a new instance of an object is being created.
If this method returns an error then the object will not be created.
It is passed the arguments provided in the %New call.
When customizing this method, override the arguments with whatever variables and types you expect to receive from %New().
For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:
Method %OnNew(dob as %Date = "", name as %Name = "") as %Status
If instead of returning a %Status code this returns an oref and this oref is a subclass of the current
class then this oref will be the one returned to the caller of %New method.
Ensure that any data already written to the stream buffer is sent to the stream.
In addition a reopen of the file takes place.
Note: The Flush method does not ensure that data actually gets flushed to disk. Using the traditional COS "W *-3" to a device ensures that this occurs.
classmethod NewTempFilename(tExt As %String = "", pUseTempDir As %Boolean = 0, pDirectory As %String = "") as %String
Create a new, unused filename. By default, the returned filename will have no directory component
and will have the default file extension specified in DEFTEMPFILEEXT.
If tExt is specified, this will be used as the file extension. If pUseTempDir is true,
then the filename will include the current temporary directory for the namespace
in which the method is called. If pDirectory is specified, the supplied directory name
will be used irrespective of the value of pUseTempDir.
Inherited description: 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.
method ReadLine(pMaxReadLen As %Integer, ByRef pTimeout As %Numeric = -1, Output pSC As %Status, ByRef pLineTerminator As %String = ..LineTerminator) as %String
Inherited description: 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.