For information on converting to InterSystems IRIS, see the
InterSystems IRIS Adoption Guide
and the InterSystems IRIS In-Place Conversion Guide,
both available on the WRC Distributions page (login required).
Number of characters that we are storing in each global node
If this includes a ',' then format size on non-long string then size on long string enabled system
%LockStream()
Obtain a shared lock on the current stream object. The return value is 1 if
the stream was already locked or if it was successfully locked. If the stream
cannot be locked the return value is 0.
This version of %LockStream differs from %Stream.Object only in the arguments passed
to %GetLockReference.
Inherited description: Normalizes all of an object's property values by invoking the data type Normalize methods.
Many data types may allow many different representations of the same value.
Normalization converts a value to its cannonical, or normalized, form.
Inherited description: This method validates an object. The %Save method of a persistent class calls it before filing any objects in the database.
The %ValidateObject method of a referencing object can call it. You can also call it explicitly at any time.
It tests if any required property values are missing.
If the PROPERTYVALIDATION class parameter is set to ValidateOnSave,
it validates each non-null property value by calling the property method IsValid on each literal property and the object's %ValidateObject method for object-valued properties.
If any of these tests fail, %ValidateObject() immediately returns an error value. It is up to the caller
of %ValidateObject to process the error value.
Returns a %Status value indicating success or failure.
Inherited description: Clear the contents of this Stream from permanent storage. This will remove the permanent stream storage and
any temporary stream and initialise the stream to its initial state that it starts in, including removing all
the stream attributes.
Returns a %Status value indicating success or failure.
Inherited description: Move to the end of the stream so the next Write will be appended to the end.
This allows you to read from a stream, then MoveToEnd() and append new data, where just calling
Write() after a read will clear the stream before writing new data.
Returns a %Status value indicating success or failure.
method OutputToDevice(ByRef len As %Integer = -1) as %Status
Inherited description: Write out len characters of the stream to the current device starting from the current position. This
method is optimised for performance by the various sub classes. If len is omitted or set to -1 then
it will write out the entire stream starting at the beginning.
Inherited description: Reads up to len characters from the current position
in the stream. The current position is advanced by the number of
characters read. Upon exit, len is set to the actual
number of characters read. If a read occurs when the stream position
is at the end of the stream, len will be set to -1 and
Read() will return a null string (""). If no len
is passed in, ie. 'Read()' then it is up to the Read implementation as to
how much data to return. Some stream classes use this to optimize the amount of
data returned to align this with the underlying storage of the stream.
You must call Rewind() if you want to read a stream from the beginning
again. Calling Read() after Write() implicitly ends the Write()
operation and rewinds to the start of the stream.
Returns a string up to len characters long. The byref argument sc will
return a %Status if any error occurred during the read.
Inherited description: Read a line from the stream. This will look for the line terminator in the stream and
once it finds the terminator it will return the string minus the terminator character/s. If it reaches the
end of the stream before it finds a terminator it will return the data it has so far, and if you specify a
maximum size in len it will only read up to this number of characters. On exit len
will contain the actual number of characters read. The byref argument sc will
return a %Status if any error occured during the read and the byref argument eol
is true if it found the line terminator and false otherwise. So for example you can read in a stream
a line at a time and output the results to the current device with:
While 'stream.AtEnd { Write stream.ReadLine(,.sc,.eol) If $$$ISERR(sc) { Write "ERROR" Quit } If eol { Write ! } }
This reads from the stream until it find the LineTerminator and returns
this as a stream. If the stream does not contain the line terminator this can potentially be the
entire stream.
Inherited description: Deprecated method, use %Save() instead.
Saves the temporary copy of the stream data to a persistent location. Note that
any locking or transaction handling must be done by the caller.
Returns a %Status value indicating success or failure.