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

Public Member Functions

_.Library.Integer Count ()
 Returns the number of elements contained in the list.
 
_.Library.Status DeSerialize (_.Library.String serialized)
 Deserialize from string created with <method>Serialize</method> back to collection.
 
_.Library.String Find (_.Library.ObjectIdentity element, _.Library.Integer key)
 Starting from, but not including, position key, Find finds. 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.Integer key, _.Library.String id)
 Starting from, but not including, location key,. More...
 
_.Library.RegisteredObject GetAt (_.Library.Integer key)
 Finds and returns the OREF value referring to the object at position. More...
 
_.Library.RegisteredObject GetNext (_.Library.Integer key)
 Finds and returns the OREF value referring to the object at the position after key More...
 
_.Library.ObjectIdentity GetObjectAt (_.Library.Integer key, _.Library.Integer force)
 Finds and returns the OID value referring to the object at position. More...
 
_.Library.String GetObjectIdAt (_.Library.Integer key, _.Library.Integer force)
 Finds and returns the ID value referring to the object at position. More...
 
_.Library.String GetObjectIdNext (_.Library.Integer key)
 Finds and returns the ID value referring to the object at the position after key More...
 
_.Library.String GetObjectIdPrevious (_.Library.Integer key)
 Finds and returns the ID value referring to the object at the position before key More...
 
_.Library.ObjectIdentity GetObjectNext (_.Library.Integer key)
 Finds and returns the OID value referring to the object at the position after key More...
 
_.Library.ObjectIdentity GetObjectPrevious (_.Library.Integer key)
 Finds and returns the OID value referring to the object at the position before key More...
 
_.Library.RegisteredObject GetPrevious (_.Library.Integer key)
 Finds and returns the OREF value referring to the object at the position before key More...
 
_.Library.Status Insert (_.Library.RegisteredObject oref)
 Inserts an element with OREF value oref at the end of the list. More...
 
_.Library.Status InsertAt (_.Library.RegisteredObject oref, _.Library.Integer key)
 Inserts an element with OREF value oref at position key. More...
 
_.Library.Status InsertObject (_.Library.ObjectIdentity oid)
 Inserts an element with OID value oid at the end of the list. More...
 
_.Library.Status InsertObjectAt (_.Library.ObjectIdentity oid, _.Library.Integer key)
 Inserts an element with OID value oid at position key. More...
 
_.Library.Status InsertObjectId (_.Library.String id)
 Inserts an element with ID value id at the end of the list. More...
 
_.Library.Status InsertObjectIdAt (_.Library.String id, _.Library.Integer key)
 Inserts an element with ID value id at position key. More...
 
_.Library.Boolean IsDefined (_.Library.Integer key)
 Returns true (1) if a value is defined at location key,. More...
 
_.Library.Integer Next (_.Library.Integer key)
 Finds and returns the index value of the element at the location following key in the list. More...
 
_.Library.Integer Previous (_.Library.Integer key)
 Finds and returns the index value of the element at the location preceding key in the list. More...
 
_.Library.ObjectIdentity RemoveAt (_.Library.Integer key, _.Library.Boolean success)
 Removes the element at position key in the list. 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.Integer key)
 Sets the OREF value of the element at position key to oref. More...
 
_.Library.Status SetObjectAt (_.Library.ObjectIdentity oid, _.Library.Integer key)
 Sets the OID value of the element at position key to oid. More...
 
_.Library.Status SetObjectIdAt (_.Library.String id, _.Library.Integer key)
 Sets the ID value of the element at position key to id. More...
 
- Public Member Functions inherited from AbstractList
_.Library.Status Clear ()
 Clears the contents of the list. More...
 
_.Library.String Find (_.Library.RawString element, _.Library.Integer key)
 Starting from, but not including, position key, Find finds. More...
 
_.Library.Status Insert (_.Library.RawString element)
 Inserts an element with value element at the end of the list. More...
 
_.Library.Status InsertAt (_.Library.RawString element, _.Library.Integer key)
 Inserts an element with value element at position key. More...
 
_.Library.Status InsertList (_.Library.RawString inslist)
 Inserts a list with value inslist at the end of the list. More...
 
_.Library.Status InsertOrdered (_.Library.RawString element)
 Inserts an element with value element into the list at the correct ordered. More...
 
_.Library.RawString RemoveAt (_.Library.Integer key)
 Removes the element at position key in the list. More...
 
_.Library.Status SetAt (_.Library.RawString element, _.Library.Integer key)
 Sets the value of the element at position 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...
 

Public Attributes

 Size
 Size is the number of elements contained in the list. 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...
 

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.
 
- 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.Integer key, _.Library.Integer force)
 Unswizzles (removes from memory) the individual element at position key in the list. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from AbstractList
_.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 list 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...
 

Detailed Description

For information on this class, see Working with Collections.

The <CLASS>Collection.ListOfObj</CLASS> class represents a list of references to objects, each of which is associated with a numeric position in the list. The first element in the list is stored at position 1. The objects referred to must be registered. They can be either persistent objects or non-id objects.

Internally, a <CLASS>Collection.ListOfObj</CLASS> object contains two lists: one for holding the OID values for the objects referred to (or their serialized state in the case of a list 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 list. For example, if list is an <CLASS>Collection.ListOfObj</CLASS> object containing a list of Doctor objects (that is a list of OID values for Doctor objects stored in the database) then the following code fragment will automatically load the Doctor object at location 7 in the list 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=list.GetAt(7) Write doc.Name

Alternatively, we could use cascading dot syntax:

Set name=list.GetAt(7).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>ListOfObjects</class>.

Member Function Documentation

◆ UnSwizzleAt()

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

Unswizzles (removes from memory) the individual element at position key in the list.

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

◆ Find()

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

the next element in the list whose OID value equals element. 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 AbstractListOfObj.

Reimplemented in ListOfObjCN.

◆ 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 AbstractListOfObj.

◆ 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 AbstractListOfObj.

◆ GetAt()

Finds and returns the OREF value referring to the object at position.

key in the list.

GetAt returns the value of the element at location key or null string ("") if no element is found.

Reimplemented from AbstractListOfObj.

Reimplemented in ListOfStream.

◆ GetNext()

Finds and returns the OREF value referring to the object at the position after key

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

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

Reimplemented from AbstractListOfObj.

◆ GetObjectAt()

Finds and returns the OID value referring to the object at position.

key in the list.

Returns the value of the element at location key or null string ("") if no element is found.

Reimplemented from AbstractListOfObj.

◆ GetObjectIdAt()

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

Finds and returns the ID value referring to the object at position.

key in the list.

Returns the value of the element at location key or null string ("") if no element is found.

Reimplemented from AbstractListOfObj.

◆ GetObjectIdNext()

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

Finds and returns the ID value referring to the object at the position after key

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

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

Reimplemented from AbstractListOfObj.

◆ GetObjectIdPrevious()

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

Finds and returns the ID value referring to the object at the position before key

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

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

Reimplemented from AbstractListOfObj.

◆ GetObjectNext()

Finds and returns the OID value referring to the object at the position after key

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

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

Reimplemented from AbstractListOfObj.

◆ GetObjectPrevious()

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

Finds and returns the OID value referring to the object at the position before key

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

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

Reimplemented from AbstractListOfObj.

◆ GetPrevious()

Finds and returns the OREF value referring to the object at the position before key

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

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

Reimplemented from AbstractListOfObj.

◆ Insert()

Inserts an element with OREF value oref at the end of the list.

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

Reimplemented from AbstractListOfObj.

Reimplemented in ListOfStream.

◆ InsertAt()

Inserts an element with OREF value oref at position key.

<p>To make room for the new element, the elements previously at or following position 
<var>key</var> are moved up by one position.
<p><var>key</var> must be in the following range: 
<blockquote><code>
1 &lt= index &lt= Count() + 1
</blockquote></code>

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

Reimplemented from AbstractListOfObj.

Reimplemented in ListOfStream.

◆ InsertObject()

Inserts an element with OID value oid at the end of the list.

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

Reimplemented from AbstractListOfObj.

◆ InsertObjectAt()

_.Library.Status InsertObjectAt ( _.Library.ObjectIdentity  oid,
_.Library.Integer  key 
)

Inserts an element with OID value oid at position key.

<p>To make room for the new element, the elements previously at or following position 
<var>key</var> are moved up by one position.
<p><var>key</var> must be in the following range: 
<blockquote><code>
1 &lt= index &lt= Count() + 1
</blockquote></code>

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

Reimplemented from AbstractListOfObj.

◆ InsertObjectId()

_.Library.Status InsertObjectId ( _.Library.String  id)

Inserts an element with ID value id at the end of the list.

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

Reimplemented from AbstractListOfObj.

Reimplemented in ListOfStream.

◆ InsertObjectIdAt()

_.Library.Status InsertObjectIdAt ( _.Library.String  id,
_.Library.Integer  key 
)

Inserts an element with ID value id at position key.

<p>To make room for the new element, the elements previously at or following position 
<var>key</var> are moved up by one position.
<p><var>key</var> must be in the following range: 
<blockquote><code>
1 &lt= index &lt= Count() + 1
</blockquote></code>

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

Reimplemented from AbstractListOfObj.

Reimplemented in ListOfStream.

◆ IsDefined()

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

otherwise false (0).

◆ Next()

Finds and returns the index value of the element at the location following key in the list.

If key is a null string (""), then Next returns the position of the first element in the list (1).

Reimplemented from AbstractList.

◆ Previous()

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

If key is a null string (""), then Previous returns the position of the last element in the list.

Reimplemented from AbstractList.

◆ RemoveAt()

Removes the element at position key in the list.

The elements following position key are moved to fill in the resulting gap.

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

Reimplemented from AbstractListOfObj.

◆ SetAt()

Sets the OREF value of the element at position key to oref.

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

Reimplemented from AbstractListOfObj.

Reimplemented in ListOfStream.

◆ SetObjectAt()

Sets the OID value of the element at position key to oid.

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

Reimplemented from AbstractListOfObj.

◆ SetObjectIdAt()

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

Sets the ID value of the element at position key to id.

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

Reimplemented from AbstractListOfObj.

Reimplemented in ListOfStream.

Member Data Documentation

◆ Size

Size

Size is the number of elements contained in the list.