Public Member Functions | |
_.Library.Boolean | IsFileUnicode () |
Returns true if the file is Unicode. More... | |
_.Library.Integer | SizeGet () |
Return the current size of the data stream. More... | |
_.Library.Status | TranslateTableSet (_.Library.String table) |
If translation table is set after the file has been opened. More... | |
![]() | |
_.Library.Status | OnClose () |
This callback method is invoked by the <METHOD>Close</METHOD> method to. More... | |
_.Library.Integer | FileBinarySize () |
Return the current size of the file in bytes. | |
_.Library.Status | Flush () |
Flush any output in the stream not already saved. | |
_.Library.Status | LinkToFile (_.Library.String filename) |
This method lets you connect a file stream to a file called filename without. More... | |
_.Library.Status | MoveToEnd () |
Move to the end of the stream so the next <METHDO>Write</METHOD> will be appended to the end. More... | |
_.Library.Status | OutputToDevice (_.Library.Integer len) |
Write out len characters of the stream to the current device starting from the current position. More... | |
_.Library.RawString | Read (_.Library.Integer len, _.Library.Status sc) |
Reads up to len characters from the current position. More... | |
_.Library.RawString | ReadLine (_.Library.Integer len, _.Library.Status sc, _.Library.Boolean eol, _.Library.String term) |
Read a line from the file. More... | |
_.Library.Status | Rewind () |
Go back to the start of the stream. | |
_.Library.Status | Write (_.Library.RawString data) |
Appends the string data to the stream and advances the. More... | |
_.Library.Status | WriteLine (_.Library.RawString data) |
Appends the string data along with a line terminator to the stream and advances the. More... | |
![]() | |
_.Library.Status | AcquireLock (locktype) |
Acquires a lock for the current instance. More... | |
_.Library.Status | OnAfterSave (_.Library.Boolean insert) |
This callback method is invoked by the <METHOD>Save</METHOD> method to. More... | |
_.Library.Status | OnBeforeSave (_.Library.Boolean insert) |
This callback method is invoked by the <METHOD>Save</METHOD> method to. More... | |
_.Library.Status | OnOpen () |
This callback method is invoked by the <METHOD>Open</METHOD> method to. More... | |
_.Library.Status | OnReload () |
This callback method is invoked by the <METHOD>Reload</METHOD> method to. More... | |
_.Library.Status | OnRollBack () |
This callback method is invoked by the <METHOD>Save</METHOD> method to. More... | |
_.Library.Status | Clear () |
Clear the contents of this Stream from permanent storage. More... | |
_.Library.Status | CopyFrom (_.Stream.Object source) |
Copies the contents of source into this Stream. More... | |
_.Library.Status | CopyFromAndSave (_.Stream.Object source) |
Copy the stream from source into the current stream ignoring anything already in the current stream. More... | |
_.Library.Integer | FindAt (_.Library.Integer position, _.Library.RawString target, _.Library.RawString tmpstr, _.Library.Boolean caseinsensitive) |
Find the first occurrence of target in the stream, starting the search at position. More... | |
_.Library.String | GetStreamId () |
Returns an full id value (including class name) with which the Stream implementation has stored. More... | |
_.Library.Status | InputFromDevice (_.Library.Integer len, _.Library.Integer timeout) |
Input len characters from the current device into the stream. More... | |
_.Library.Boolean | MoveTo (_.Library.Integer position) |
Move to this position in the stream. More... | |
_.Library.Status | OutputToDeviceAt (_.Library.Integer position, _.Library.Integer length) |
Output the stream to the current device starting at position of length. More... | |
_.Library.RawString | ReadLine (_.Library.Integer len, _.Library.Status sc, _.Library.Boolean eol) |
Read a line from the stream. More... | |
_.Library.String | ReadSQL (_.Library.Integer start, _.Library.Integer end) |
SQL specific method for reading stream data. | |
_.Library.Status | SerializeToSyncSet (_.SYNC.SyncSet ss, _.Library.Integer iPtr, _.Library.String property) |
SerializeToSyncSet copies the stream value from the current object to the sync set global. More... | |
_.Library.Status | SyncStreamIn (_.SYNC.SyncSet ss, _.Library.Integer iPtr, _.Library.String property) |
SyncStreamIn copies the stream value from the sync set global into the current object. | |
![]() | |
_.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 | 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 Attributes | |
BOM | |
BOM characters that appear at start of file to signify which encoding it is using. More... | |
StreamFormatWrite | |
The StreamFormatWrite property controls whether file output is in stream or undefined format. More... | |
TranslateTable | |
The translation table to be used when reading or writing the file. More... | |
![]() | |
CanonicalFilename | |
Read only property that returns the canonical filename if the file is open and "" if the file is not open. More... | |
Filename | |
The filename that this stream is currently using. More... | |
LineTerminator | |
For file streams the line will terminate on any of the characters set in the LineTerminator, it does not support. More... | |
ReadSize | |
While reading this holds the file size. More... | |
RemoveOnClose | |
If true then remove the permanent file as well as any temp file when this object is closed. More... | |
![]() | |
AtEnd | |
The AtEnd property is set to true (1) when, during a read,. More... | |
Id | |
Id is the unique identifier for a stream within the Location. More... | |
LastModified | |
LastModified is a read-only property containing the <class>TimeStamp</class> of More... | |
Size | |
Size is a read-only property containing the current size of the stream (in bytes More... | |
Static Public Attributes | |
OPENAPPEND = None | |
![]() | |
DEFAULTCONCURRENCY = None | |
![]() | |
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... | |
Private Member Functions | |
_.Library.Integer | IsModified () |
Returns true (1) if a property of this instance has been modified, otherwise false (0). More... | |
_.Library.Integer | ObjectModified () |
This method is somewhat similar to IsModified but it also checks to see if swizzled. More... | |
_.Library.ObjectIdentity | Oid () |
Returns the OID of this object. | |
Additional Inherited Members | |
![]() | |
_.Library.String | DefaultStreamDir (_.Library.Boolean skip) |
Return the default directory to use for streams if none specified. | |
![]() | |
_.Library.String | GetLockReference (_.Library.String pLocation, _.Library.String pId) |
Returns the global reference used to lock the current stream object. More... | |
_.Library.Status | OnDelete (_.Library.ObjectIdentity oid) |
This callback method is invoked by the <METHOD>Delete</METHOD> method to. More... | |
_.Library.String | IsCharacter () |
Return true if this is a character stream and false if it is a binary stream. | |
_.Library.Boolean | StreamOIDIsNull (_.Library.ObjectIdentity soid) |
Return true if this stream oid is a null stream and false if the stream is not null. | |
For information on this class, see Working with Streams.
Stream class that stores character data in files. For example, the following code opens a file binary stream, points it at a particular file on the filesystem, and then reads it in chunks of 32,000 bytes:
Set stream=##class(Stream.FileCharacter).New() Set sc=stream.LinkToFile("c:\myfile.txt") While 'stream.AtEnd { Set line=stream.Read() ; Process the chunk here }
The difference between file character stream and file binary streams is that the character stream understands that it is writing character data and this may be subject to characterset translation. For example you may wish to utf-8 encode character data being written to the file, but with a binary file stream it is just a series of binary data and so this is always read/written exactly as it is without and translation. Also the file is written in 'S' mode so for example writing cr/lf on a unix system will just append lf as this is the unix line terminator.
|
private |
Returns true (1) if a property of this instance has been modified, otherwise false (0).
A TRUE result does not necessarily mean that any property has actually been changed. If IsModified() returns false then the object has not been modified. There are some situations where we simply cannot efficiently detect a change in value. In these cases we will set the modified status of the property.
Reimplemented from FileBinary.
|
private |
This method is somewhat similar to IsModified but it also checks to see if swizzled.
references would cause the object to become modified should they be serialized. This works on the assumption that a reference to a persistent object will never be modified if the ID has already been assigned. For references to serial objects, a call to ObjectModified indicates whether or not the serialized value is different. If the reference to a swizzled object is different from the initial object state then the $$$objModAll macro will already return true. Reference the <property>Set code.
Returns true (1) if this instance has been modified, otherwise false (0).
Reimplemented from FileBinary.
_.Library.Boolean IsFileUnicode | ( | ) |
Returns true if the file is Unicode.
This method may only be called after data has been read from the file stream.
_.Library.Integer SizeGet | ( | ) |
Return the current size of the data stream.
Note this is complicated by having to worry about the translate table used to write the file.
Reimplemented from FileBinary.
Reimplemented in FileCharacterGzip.
_.Library.Status TranslateTableSet | ( | _.Library.String | table | ) |
If translation table is set after the file has been opened.
then switch the table used for the file. If the translation table is set to "", then the "RAW" table is used.
|
static |
For information on this class, see Working with Streams.
Stream class that stores character data in files. For example, the following code opens a file binary stream, points it at a particular file on the filesystem, and then reads it in chunks of 32,000 bytes:
Set stream=##class(Stream.FileCharacter).New() Set sc=stream.LinkToFile("c:\myfile.txt") While 'stream.AtEnd { Set line=stream.Read() ; Process the chunk here }
The difference between file character stream and file binary streams is that the character stream understands that it is writing character data and this may be subject to characterset translation. For example you may wish to utf-8 encode character data being written to the file, but with a binary file stream it is just a series of binary data and so this is always read/written exactly as it is without and translation. Also the file is written in 'S' mode so for example writing cr/lf on a unix system will just append lf as this is the unix line terminator.
BOM |
BOM characters that appear at start of file to signify which encoding it is using.
StreamFormatWrite |
The StreamFormatWrite property controls whether file output is in stream or undefined format.
If StreamFormatWrite is 1 (true), the default, the file is written in S (stream) format. If StreamFormatWrite is 0 (false), the file is written in U (Undefined) format. For Unix file output, S format converts crlf to lf which can be a problem for MIME output such as email. The user can now set messagepart.TextData.StreamFormatWrite=0 to keep crlf in text message parts of the mail message.
TranslateTable |
The translation table to be used when reading or writing the file.
See Translation Tables.
Initial value of 0 indicates that the table has not yet been set.
If the translation table is set after the file has been opened then switch the table used for the file. If the translation table is set to "", then the "RAW" table is used.