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

Public Member Functions

_.Library.Integer Count ()
 Returns the number of elements contained in the array.
 
_.Library.Status DeSerialize (_.Library.String serialized)
 Deserialize from string created with <method>Serialize</method> back to collection.
 
_.Library.Boolean Define (_.Library.String key)
 This method is deprecated. More...
 
_.Library.String Find (_.Library.ObjectIdentity element, _.Library.String key)
 Starting from, but not including, location key,. More...
 
_.Library.String FindObjectId (_.Library.String id, _.Library.Integer key)
 Starting from, but not including, position key, FindObjectId finds. More...
 
_.Library.String FindOref (_.Library.RegisteredObject oref, _.Library.String key, _.Library.String id)
 Starting from, but not including, location key,. More...
 
_.Library.RegisteredObject GetAt (_.Library.String key)
 Finds and returns the OREF value of the element associated with key. More...
 
_.Library.RegisteredObject GetNext (_.Library.String key)
 Finds and returns the OREF value of the element at the location after key More...
 
_.Library.ObjectIdentity GetObjectAt (_.Library.String key, _.Library.Integer force)
 Finds and returns the OID value of the element associated with key. More...
 
_.Library.String GetObjectIdAt (_.Library.String key, _.Library.Integer force)
 Finds and returns the ID value of the element associated with key. More...
 
_.Library.String GetObjectIdNext (_.Library.String key)
 Finds and returns the ID value of the element at the location after key More...
 
_.Library.String GetObjectIdPrevious (_.Library.String key)
 Finds and returns the ID value of the element at the location before key More...
 
_.Library.ObjectIdentity GetObjectNext (_.Library.String key)
 Finds and returns the OID value of the element at the location after key More...
 
_.Library.ObjectIdentity GetObjectPrevious (_.Library.String key)
 Finds and returns the OID value of the element at the location before key More...
 
_.Library.RegisteredObject GetPrevious (_.Library.String key)
 Finds and returns the OREF value of the element at the location before key More...
 
_.Library.Boolean IsDefined (_.Library.String key)
 Returns true (1) if a value is defined at location key,. More...
 
_.Library.String Previous (_.Library.String key)
 Finds and returns the key value of the element at the location preceding key in the array. More...
 
_.Library.ObjectIdentity RemoveAt (_.Library.String key, _.Library.Boolean success)
 Removes the element associated with key in the array. More...
 
_.Library.String Serialize (_.Library.Integer force)
 Serialize() constructs a serialized form of the collection as a string.
 
_.Library.Status SetAt (_.Library.RegisteredObject oref, _.Library.String key)
 Sets the OREF value of the element associated with key to element. More...
 
_.Library.Status SetObjectAt (_.Library.ObjectIdentity oid, _.Library.String key)
 Sets the OID value of the element associated with key to element. More...
 
_.Library.Status SetObjectIdAt (_.Library.String id, _.Library.String key)
 Sets the ID value of the element associated with key to element. More...
 
- Public Member Functions inherited from AbstractArray
_.Library.Status Clear ()
 Clears the contents of the array. More...
 
_.Library.String Find (_.Library.RawString element, _.Library.String key)
 Starting from, but not including, location key,. More...
 
_.Library.RawString RemoveAt (_.Library.String key)
 Removes the element associated with key in the array. More...
 
_.Library.Status SetAt (_.Library.RawString element, _.Library.String key)
 Sets the value of the element associated with key to element. More...
 
- Public Member Functions inherited from AbstractIterator
_.Library.RawString GetAt (_.Library.RawString key)
 Definition of iterator methods that all our collections classes use to ensure consistency. More...
 
_.Library.RawString GetNext (_.Library.RawString key)
 Finds and returns the value of the element at the location after key More...
 
_.Library.RawString Next (_.Library.RawString key)
 Finds and returns the key value of the element at the location following key in the iteration. More...
 
- Public Member Functions inherited from Super
_.Library.Status Clear ()
 Clears the contents of the array. 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...
 

Static Public Attributes

 IdCollection = None
 If true then in the container we have an array of id's rather than an array of oid's. More...
 
- Static Public Attributes inherited from AbstractArray
 ELEMENTTYPE = None
 The type (class name) of the elements stored in the collection.
 
- Static Public Attributes inherited from Super
 ELEMENTTYPE = None
 Functions needed for all collection classes. More...
 
- 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.Status UnSwizzleAt (_.Library.String key, _.Library.Integer force)
 Unswizzles (removes from memory) the element associated with key in the array. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from AbstractArray
_.Library.Status BuildValueArray (_.Library.Binary serialized, _.Library.Binary array)
 Constructs array(key)=value for each element in the serialval value. More...
 
_.Library.String LogicalToOdbc (_.Library.String val, _.Library.String delim, _.Library.String class, _.Library.String method)
 Converts the serial state of this array object to a delimited string. More...
 
_.Library.String OdbcToLogical (_.Library.String val, _.Library.String delim, _.Library.String class, _.Library.String method)
 Converts the value of an incoming delimited string to a serialized state. More...
 
- Public Attributes inherited from Super
 ElementClassType
 The ClassType of the elements stored by this collection. More...
 
 ElementType
 The type (classname:propertyname) of the elements stored in the collection. More...
 
 LiteralBehavior
 True if this collection is a 'literal object' so the Insert/Set should make a copy of the object. More...
 
 OrefStorage
   More...
 
 Owner
 Integer version of the object that has the collection data. More...
 
 ReadOnly
 True if this collection is read only. More...
 
 Storage
   More...
 
 StreamLocation
 For stream collections this contains the stream root location. More...
 

Detailed Description

For information on this class, see Working with Collections.

The <CLASS>Collection.ArrayOfObjects</CLASS> class represents an array of references to objects, each of which is associated with a unique key value. Keys can have any value, string or numeric. The objects referred to must be registered. They can be either persistent objects or non-id objects.

Internally, an <CLASS>Collection.ArrayOfObjects</CLASS> object contains two arrays: one for holding the OID values for the objects referred to (or their serialized state in the case of an array of non-id objects); and another for holding the OREF values for any objects that have been explicitly referred to, and hence "swizzled" into memory. Swizzling (loading an object into memory and generating an OREF value for it) happens automatically whenever the user refers to an object within the array.

For example, if array is an <CLASS>Collection.ArrayOfObjects</CLASS> object containing an array of Doctor objects (that is an array of OID values for Doctor objects stored in the database) then the following code fragment will automatically load the Doctor object associated with the key "Primary" into memory and generate an OREF value referring to the in-memory version of the Doctor object. This OREF value can then be used to access the properties and methods of the Doctor object:

Set doc=array.GetAt("Primary") Write doc.Name

Alternatively, we could use cascading dot syntax:

Set name=array.GetAt("Primary").Name

These Collection classes can only be used when you have a collection property of another object as they rely on storing the data inside the parent object, they cannot be used as 'standalone' collections, for this use the <class>ArrayOfObjects</class>.

Member Function Documentation

◆ UnSwizzleAt()

_.Library.Status UnSwizzleAt ( _.Library.String  key,
_.Library.Integer  force 
)
private

Unswizzles (removes from memory) the element associated with key in the array.

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

◆ Define()

This method is deprecated.

Please use <METHOD>IsDefined</METHOD> instead.

Reimplemented from AbstractArray.

◆ Find()

Starting from, but not including, location key,.

finds the next element in the array whose OID value equals element.

If key is a null string (""), the search starts at the beginning of the array.

Find returns the key associated with the found element or null string ("") if no element is found.

Reimplemented from AbstractArrayOfObj.

Reimplemented in ArrayOfObjCN.

◆ FindObjectId()

_.Library.String FindObjectId ( _.Library.String  id,
_.Library.Integer  key 
)

Starting from, but not including, position key, FindObjectId finds.

the next element in the list whose ObjectId equals id. If key is a null string, Find starts at the beginning of the list.

Find returns the position of the found element or null string ("") if no element was found.

Reimplemented from AbstractArrayOfObj.

◆ FindOref()

Starting from, but not including, location key,.

finds the next element in the array whose Oref value equals oref.

If key is a null string (""), the search starts at the beginning of the array.

FindOref returns the key associated with the found element or null string ("") if no element is found.

Unswizzled references are compared to oref.Oid() and if equal, swizzling will occur.

Reimplemented from AbstractArrayOfObj.

◆ GetAt()

Finds and returns the OREF value of the element associated with key.

GetAt returns the OREF value of the element associated with key or null string ("") if no element is found.

Reimplemented from AbstractArrayOfObj.

Reimplemented in ArrayOfStream.

◆ GetNext()

Finds and returns the OREF value of the element at the location after key

in the array. If key is a null string (""), it returns the OREF value of the first element in the array.

The value of key, which is passed by reference, is updated to the key value of the returned element or null string ("") if key is at the end of the array.

Reimplemented from AbstractArrayOfObj.

◆ GetObjectAt()

Finds and returns the OID value of the element associated with key.

GetObjectAt returns the OID value of the element associated with key or null string ("") if no element is found.

Reimplemented from AbstractArrayOfObj.

◆ GetObjectIdAt()

_.Library.String GetObjectIdAt ( _.Library.String  key,
_.Library.Integer  force 
)

Finds and returns the ID value of the element associated with key.

GetObjectIdAt returns the ID value of the element associated with key or null string ("") if no element is found.

Reimplemented from AbstractArrayOfObj.

◆ GetObjectIdNext()

_.Library.String GetObjectIdNext ( _.Library.String  key)

Finds and returns the ID value of the element at the location after key

in the array. If key is a null string (""), it returns the ID value of the first element in the array.

The value of key, which is passed by reference, is updated to the key value of the returned element or null string ("") if key is at the end of the array.

Reimplemented from AbstractArrayOfObj.

◆ GetObjectIdPrevious()

_.Library.String GetObjectIdPrevious ( _.Library.String  key)

Finds and returns the ID value of the element at the location before key

in the array. If key is a null string (""), it returns the ID value of the last element in the array.

The value of key, which is passed by reference, is updated to the key value of the returned element or null string ("") if key is at the beginning of the array.

Reimplemented from AbstractArrayOfObj.

◆ GetObjectNext()

Finds and returns the OID value of the element at the location after key

in the array. If key is a null string (""), it returns the OID value of the first element in the array.

The value of key, which is passed by reference, is updated to the key value of the returned element or null string ("") if key is at the end of the array.

Reimplemented from AbstractArrayOfObj.

◆ GetObjectPrevious()

_.Library.ObjectIdentity GetObjectPrevious ( _.Library.String  key)

Finds and returns the OID value of the element at the location before key

in the array. If key is a null string (""), it returns the OID value of the last element in the array.

The value of key, which is passed by reference, is updated to the key value of the returned element or null string ("") if key is at the beginning of the array.

Reimplemented from AbstractArrayOfObj.

◆ GetPrevious()

Finds and returns the OREF value of the element at the location before key

in the array. If key is a null string (""), it returns the OREF value of the last element in the array.

The value of key, which is passed by reference, is updated to the key value of the returned element or null string ("") if key is at the beginning of the array.

Reimplemented from AbstractArrayOfObj.

◆ IsDefined()

_.Library.Boolean IsDefined ( _.Library.String  key)

Returns true (1) if a value is defined at location key,.

otherwise false (0).

Reimplemented from AbstractArray.

◆ Previous()

Finds and returns the key value of the element at the location preceding key in the array.

If key is a null string (""), then <METHOD>Previous</METHOD> returns the key value for the last element in the array.

Reimplemented from AbstractArray.

◆ RemoveAt()

Removes the element associated with key in the array.

<p><b>RemoveAt</b> returns the OID value of the removed element or null string ("") 
if no element was removed. It also has a <var>success</var> output argument that
returns true if the item was removed and false if it was not.

Reimplemented from AbstractArrayOfObj.

◆ SetAt()

Sets the OREF value of the element associated with key to element.

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

Reimplemented from AbstractArrayOfObj.

Reimplemented in ArrayOfStream.

◆ SetObjectAt()

Sets the OID value of the element associated with key to element.

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

Reimplemented from AbstractArrayOfObj.

◆ SetObjectIdAt()

_.Library.Status SetObjectIdAt ( _.Library.String  id,
_.Library.String  key 
)

Sets the ID value of the element associated with key to element.

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

Reimplemented from AbstractArrayOfObj.

Reimplemented in ArrayOfStream.

Member Data Documentation

◆ IdCollection

IdCollection = None
static

If true then in the container we have an array of id's rather than an array of oid's.

For information on this class, see Working with Collections.

The <CLASS>Collection.ArrayOfObjects</CLASS> class represents an array of references to objects, each of which is associated with a unique key value. Keys can have any value, string or numeric. The objects referred to must be registered. They can be either persistent objects or non-id objects.

Internally, an <CLASS>Collection.ArrayOfObjects</CLASS> object contains two arrays: one for holding the OID values for the objects referred to (or their serialized state in the case of an array of non-id objects); and another for holding the OREF values for any objects that have been explicitly referred to, and hence "swizzled" into memory. Swizzling (loading an object into memory and generating an OREF value for it) happens automatically whenever the user refers to an object within the array.

For example, if array is an <CLASS>Collection.ArrayOfObjects</CLASS> object containing an array of Doctor objects (that is an array of OID values for Doctor objects stored in the database) then the following code fragment will automatically load the Doctor object associated with the key "Primary" into memory and generate an OREF value referring to the in-memory version of the Doctor object. This OREF value can then be used to access the properties and methods of the Doctor object:

Set doc=array.GetAt("Primary") Write doc.Name

Alternatively, we could use cascading dot syntax:

Set name=array.GetAt("Primary").Name

These Collection classes can only be used when you have a collection property of another object as they rely on storing the data inside the parent object, they cannot be used as 'standalone' collections, for this use the <class>ArrayOfObjects</class>.