Skip to main content

%Library.ListOfDataTypes

serial class %Library.ListOfDataTypes extends %Collection.AbstractListOfDT, %Library.SerialObject

For information on this class, see Working with Collections.

The %ListOfDataTypes class represents a list of literal (i.e., data type) values. each of which is associated with a numeric position in the list. The first element in the list is stored at position 1.

Refer to %Collection.AbstractList for a description of the various array methods. These classes can be used 'standalone' to store a collection.

Property Inventory

Method Inventory

Parameters

parameter ELEMENTTYPE;
The type (classname:propertyname) of the elements stored in the collection.

Properties

property Data as %RawString [ MultiDimensional ];
Data is a private property used to hold the contents of the list.
Property methods: DataGet(), DataIsValid(), DataSet()
property ElementType as %RawString [ InitialExpression = ..#ELEMENTTYPE ];
The type (classname:propertyname) of the elements stored in the collection.
Property methods: ElementTypeGet(), ElementTypeIsValid(), ElementTypeSet()
property Size as %Integer [ InitialExpression = 0 ];
Size is the number of elements contained in the list.
Property methods: SizeDisplayToLogical(), SizeGet(), SizeIsValid(), SizeLogicalToDisplay(), SizeNormalize()

Methods

method %ValidateObject(force As %Library.Integer, checkserial As %Library.Integer = 1) as %Status
Inherited description:

This method validates an object.

The %Save() method of a persistent class calls this method before filing any objects in the database. The %ValidateObject() of a referencing object can call it. You can also call it explicitly at any time.

%ValidateObject() does the following:

  1. If present, it will call a user-supplied %OnValidateObject() method.
  2. It checks if any required property values are missing.
  3. 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 %ValidateObject method for each object-valued embedded object property (properties whose type extend %SerialObject).
  4. If checkserial is 1, it forces the checking of any embedded object properties by calling their %ValidateObject method after swizzling this property.
  5. If checkserial is 2, it forces the checking of any collections of serial types by iterating over those collections and calling their %ValidateObject() method after swizzling this property, in addition to the validation that occurs when checkserial is 1.

%ValidateObject() returns a %Status indicating success or error. It is up to the caller to process the error value.

%ValidateObject() does not validate object-valued reference properties (properties whose type extends %Persistent) due to the possibility of circular dependencies between objects. The %Save() method of a persistent class automatically detects and handles circular references between objects. If you require the validation of reference properties, you can override this method in a subclass or call %Save() directly.

classmethod BuildValueArray(serialized As %Binary, array As %Binary) as %Status
Constructs array(key)=value for each element in the serialval value.

Returns a %Status value indicating success or failure.

method Clear() as %Status
Clears the contents of the list.

Returns a %Status value indicating success or failure.

final method Count() as %Integer
Returns the number of elements contained in the list.
classmethod DisplayToLogical(val As %String = "", delim As %String = {$char(13, 10)}) as %String
Converts the value of an incoming delimited string to a serialized state using the value of the delim argument as a delimiter.
method Find(element As %String, key As %Integer) as %String
Starting from, and including, position key, Find finds the next element in the list with value equal to 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.

final method GetAt(key As %Integer = 0) as %String
Finds and returns the value of the element at position key in the list.

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

method GetNext(ByRef key As %Integer) as %String
Finds and returns the value of the element at the position after key in the list. If key is a null string (""), it returns the 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.

method GetPrevious(ByRef key As %Integer) as %String
Finds and returns the value of the element at the position before key in the list. If key is a null string (""), it returns the 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.

method Insert(element As %String) as %Status
Inserts an element with value element at the end of the list.

Returns a %Status value indicating success or failure.

method InsertAt(element As %String, key As %Integer) as %Status
Inserts an element with value element at position key.

To make room for the new element, the elements previously at or following position key are moved up by one position.

key must be in the following range:


1 <= key <= Count() + 1

Returns a %Status value indicating success or failure.
method InsertList(inslist As %String) as %Status
Inserts a list with value inslist at the end of the list.

Returns a %Status value indicating success or failure.

method InsertOrdered(element As %String) as %Status
Inserts an element with value element into the list at the correct ordered position. The elements in the list are shifted to accommodate the new element as necessary.

Returns a %Status value indicating success or failure.

classmethod LogicalToDisplay(val As %String = "", delim As %String = {$char(13, 10)}) as %String
Converts the serial state of this list object to a delimited string using the value of the %delim argument as a delimiter.
classmethod LogicalToOdbc(val As %Library.String = "", delim As %Library.String = ",", class As %Library.String = "", method As %Library.String = "") as %String
Converts the serial state of this list object to a delimited string using the value of the ODBCDELIMITER parameter as a delimiter.
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).
classmethod OdbcToLogical(val As %Library.String = "", delim As %Library.String = ",", class As %Library.String = "", method As %Library.String = "") as %String
Converts the value of an incoming delimited string to a serialized state using the value of the ODBCDELIMITER parameter as a delimiter.
Finds and returns the index value of the element at the location preceding key in the list. If key is a null string (""), then Next returns the position of the last element in the list.
method RemoveAt(key As %Integer) as %String
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 value of the removed element or null string ("") if no element was removed.

method SetAt(element As %String, key As %Integer) as %Status
Sets the value of the element at position key to element.

Returns a %Status value indicating success or failure.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab