IRISLIB database
TmpCharacter Class Reference
Inheritance diagram for TmpCharacter:
Collaboration diagram for TmpCharacter:

Public Member Functions

_.Library.Status OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. More...
 
_.Library.Status OnRollBack ()
 This callback method is invoked by the <METHOD>Save</METHOD> method to. More...
 
_.Library.Status CopyFrom (_.Stream.Object source)
 Copies the contents of source into this Stream. More...
 
_.Library.Status Flush ()
 Flush any output in the stream not already saved.
 
_.Library.Boolean IsNull ()
 Returns true if this is a "NULL" stream; that is, a stream which has never. 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)
 Read a line from the stream. More...
 
_.Stream.Object ReadLineIntoStream (_.Library.Status sc)
 This reads from the stream until it find the <property>LineTerminator</property> and returns. More...
 
_.Library.Status Rewind ()
 Go back to the start of the stream.
 
_.Library.Integer SizeGet ()
 Return the current size of the data 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...
 
- Public Member Functions inherited from Object
_.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 Clear ()
 Clear the contents of this Stream from permanent storage. 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.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.
 
- 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 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...
 

Static Public Member Functions

_.Library.String GetLockReference (_.Library.String pLocation, _.Library.String pId)
 Returns the global reference used to lock the current stream object. More...
 
- Static Public Member Functions inherited from Object
_.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.
 

Public Attributes

 LineTerminator
 Type of line terminator we use for this stream, defaults to Cr/Lf. More...
 
 RemoveOnClose
 If true then remove the permanent global as well as any temp global when this object is closed. More...
 
- Public Attributes inherited from Object
 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

 BUFFERLEN = None
 Number of characters that we are storing in each global node.
 
 COMPRESS = None
 Compress behavior of this class. More...
 
- Static Public Attributes inherited from Object
 DEFAULTCONCURRENCY = None
 
- 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...
 

Private Member Functions

_.Library.Integer IsModified ()
 Returns true (1) if a property of this instance has been modified, otherwise false (0). More...
 
_.Library.Boolean IsNull ()
 Returns true if this is a "NULL" stream; that is, a stream which has never. More...
 
_.Library.Status NormalizeObject ()
 Normalizes all of an object's property values by invoking the data type Normalize methods. More...
 
_.Library.Integer ObjectModified ()
 This method is somewhat similar to IsModified but it also checks to see if swizzled. More...
 
_.Library.Status __BuildValueArray (_.Library.String subvalue)
 Callback for searchable stream.
 
 __CheckAtEnd ()
 Check if we are at the end of the global, but do not read the next buffer.
 
_.Library.Boolean __ReadIntoBuffer ()
 Reads the next node into Buffer. More...
 
 __SetupTmpGbl ()
 Setup the TempGbl location of where we will write the temp stream to.
 

Static Private Member Functions

_.Library.Boolean Exists (_.Library.ObjectIdentity soid)
 Checks to see if the object identified by the OID oid exists in the extent. More...
 
_.Library.Boolean ObjectIsNull (_.Library.ObjectIdentity soid)
 Return true if this stream oid is a null stream and false if the stream is not null.
 

Private Attributes

 __Buffer
 Buffer we are currently using read from stream global. More...
 
 __Compress
 Internal flag to determine if the steam data is compressed. More...
 
 __IOSize
 Internal size of stream. More...
 
 __MaxNodeNo
 Maximum subscript in data we are reading. More...
 
 __Mode
   More...
 
 __NodeNo
 The current node we are reading from. More...
 
 __Position
 Where we are currently in the <property>Buffer</property> More...
 
 __TempGbl
 Where we write the temp data to. More...
 
 __mLastModified
   More...
 
 __rollback
   More...
 

Detailed Description

For information on this class, see Working with Streams.

Temporary character stream. Any calls to save this just return without doing any work.

Member Function Documentation

◆ Exists()

_.Library.Boolean Exists ( _.Library.ObjectIdentity  soid)
staticprivate

Checks to see if the object identified by the OID oid exists in the extent.

<p>Returns <CLASS>%Boolean</CLASS> TRUE is it exists, FALSE if it does not.

Reimplemented from Object.

◆ GetLockReference()

_.Library.String GetLockReference ( _.Library.String  pLocation,
_.Library.String  pId 
)
static

Returns the global reference used to lock the current stream object.

Throws Exception.AbstractException

Reimplemented from Object.

◆ IsModified()

_.Library.Integer IsModified ( )
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 RegisteredObject.

◆ IsNull() [1/2]

_.Library.Boolean IsNull ( )
private

Returns true if this is a "NULL" stream; that is, a stream which has never.

been written to and saved. This is used by the InterSystems IRIS ODBC server.

Reimplemented from Object.

◆ NormalizeObject()

_.Library.Status NormalizeObject ( )
private

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 <em>normalized</em>, form.

Reimplemented from RegisteredObject.

◆ ObjectModified()

_.Library.Integer ObjectModified ( )
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 RegisteredObject.

◆ OnClose()

_.Library.Status OnClose ( )

This callback method is invoked by the <METHOD>Close</METHOD> method to.

provide notification that the current object is being closed.

The return value of this method is ignored.

Reimplemented from Object.

◆ OnRollBack()

_.Library.Status OnRollBack ( )

This callback method is invoked by the <METHOD>Save</METHOD> method to.

provide notification that a save transaction is being rolled back.

If this method returns an error then the rollback operation will be aborted.

Reimplemented from Object.

◆ CopyFrom()

_.Library.Status CopyFrom ( _.Stream.Object  source)

Copies the contents of source into this Stream.

Does not call <METHOD>Rewind</METHOD> on this Stream before copying.

For example, you can copy oldstream into a new stream:

Set newstream=##class(GlobalCharacterStream).New() Do newstream.CopyFrom(oldstream)

Returns a <CLASS>Status</CLASS> value indicating success or failure.

Reimplemented from Object.

◆ IsNull() [2/2]

_.Library.Boolean IsNull ( )

Returns true if this is a "NULL" stream; that is, a stream which has never.

been written to and saved. This is used by the InterSystems IRIS ODBC server.

Reimplemented from Object.

◆ MoveToEnd()

_.Library.Status MoveToEnd ( )

Move to the end of the stream so the next <METHDO>Write</METHOD> will be appended to the end.

This allows you to read from a stream, then MoveToEnd() and append new data, where just calling <METHOD>Write</METHOD> after a read will clear the stream before writing new data.

Returns a <CLASS>Status</CLASS> value indicating success or failure.

Reimplemented from Object.

◆ OutputToDevice()

_.Library.Status OutputToDevice ( _.Library.Integer  len)

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.

Reimplemented from Object.

◆ Read()

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 <method>Read</method> will return a null string (""). If no len is passed in, ie. '<method>Read</method>()' 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 <method>Rewind</method> if you want to read a stream from the beginning again. Calling <method>Read</method> after <method>Write</method> implicitly ends the <method>Write</method> 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.

Reimplemented from Object.

◆ __ReadIntoBuffer()

_.Library.Boolean __ReadIntoBuffer ( )
private

Reads the next node into Buffer.

Returns 0 if there is no more data.

◆ ReadLine()

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 <method>Status</method> 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 ! } }

Reimplemented from Object.

◆ ReadLineIntoStream()

_.Stream.Object ReadLineIntoStream ( _.Library.Status  sc)

This reads from the stream until it find the <property>LineTerminator</property> and returns.

this as a stream. If the stream does not contain the line terminator this can potentially be the entire stream.

Reimplemented from Object.

◆ Write()

Appends the string data to the stream and advances the.

current stream position by the number of characters in data.

Note that a write operation immediately following a read or rewind will clear out the existing data in the stream.

Returns a <CLASS>Status</CLASS> value indicating success or failure.

Reimplemented from Object.

◆ WriteLine()

Appends the string data along with a line terminator to the stream and advances the.

current stream position by the number of characters in data plus the line terminator.

Returns a <CLASS>Status</CLASS> value indicating success or failure.

Reimplemented from Object.

Member Data Documentation

◆ COMPRESS

COMPRESS = None
static

Compress behavior of this class.



  • -1 - Do not compress streams, write old stream header format
  • 0 - Do not compress new streams
  • 1 - Compress new streams
  • 2 - Always compress

◆ __Buffer

__Buffer
private

Buffer we are currently using read from stream global.

 

◆ __Compress

__Compress
private

Internal flag to determine if the steam data is compressed.

 

◆ __IOSize

__IOSize
private

Internal size of stream.

 

◆ LineTerminator

LineTerminator

Type of line terminator we use for this stream, defaults to Cr/Lf.

Maximum length is 10 characters.

 

◆ __MaxNodeNo

__MaxNodeNo
private

Maximum subscript in data we are reading.

 

◆ __Mode

__Mode
private

 

 

◆ __NodeNo

__NodeNo
private

The current node we are reading from.

 

◆ __Position

__Position
private

Where we are currently in the <property>Buffer</property>

 

◆ RemoveOnClose

RemoveOnClose

If true then remove the permanent global as well as any temp global when this object is closed.

If you call Save on a stream where RemoveOnClose is true it will set this to false as if you explicitly save the stream you no longer want it to be removed when the object is closed. In order to make sure Save always runs the logic to reset the flag setting this to true causes IsModified/ObjectModified to return true.  

◆ __TempGbl

__TempGbl
private

Where we write the temp data to.

 

◆ __mLastModified

__mLastModified
private

 

 

◆ __rollback

__rollback
private