Back Forward Page List

A Page List mode property is a data structure consisting of an ordered list of zero or more pages, each identified by an integer index (starting with 1). Page List is one of the eleven modes a property rule may have. Pages must be created with sequential subscripts: 1 before 2, 2 before 3 and so on.

In contrast, a Page Group data structure may be empty or can contain one or more pages, but the order of the pages is not significant.

On the Clipboard tool and Explorer displays, the zzz icon identifies Page List properties.

You can call one of the standard activities @baseclass.AppendToPageList or Work-.AppendToPageList to add a page to a Page List property.

PEGA0035 Alert

By default, a warning alert occurs when processing creates a Page List property with 10,000 or more entries. Optionally, as a diagnostic aid, you can cause processing to fail (with a Java exception) when a threshold limit is exceeded.

Useful functions for Page List properties

These standard function rules are useful when working with the pages of a Page List property. Matches require an exact case match, not using equalsIgnoreCase().

Name

Description

countInPageList(LookFor, LookAt, LookIn) Counts the number of pages in a Page List property LookIn that have an exact match to the string value LookFor as the value of embedded property LookAt.
countInPageListWhen(WhenName, LookIn) Counts the number of pages in a Page List property LookIn for which the when rule WhenName evaluates to true.
entrySatisfiesCondition(LookIn, Operand, LookFor, Multiplicity)

Examines the values of one scalar property reference on each page of the Page List, where:

  • LookIn is a reference to a scalar embedded property within the pages of a Page List property
  • Operand is a string containing a comparator (such as = or <=)
  • LookFor is a String or Double value
  • Multiplicity is the literal value ALL or ANY

Returns true if all (or any) of the values meet the comparison. Does not create any additional pages. Returns false if the Page List property contains no pages.

For example:

@entrySatisfiesCondition(.Invitees().age, ">", 45, "ANY")

findInPageList(lookFor, lookAt, lookIn) AdvancedUse only in a Java context. Returns a Java ArrayList identifying those pages of the Page List property lookIn which contain the string lookFor as the exact value of the scalar property lookAt.
findInPageListWhen(whenName, lookIn) AdvancedUse only in a Java context. Returns a Java ArrayList identifying those pages of the Page List property lookIn for which the when condition rule whenName evaluates to true.
IsInEachPageofList(lookFor, lookAt, lookIn) Returns true if on all pages of the Page List property lookIn, the value of the property lookAt matches the string value lookFor.
IsInEachPageofListWhen(whenName, lookIn) Returns true if the when condition rule whenName evaluates to true for every page of the Page List property lookIn.
IsInPageList(lookFor, lookAt, lookIn) Returns true if the string lookFor is found as an exact match to the value of the property lookAt in one of the pages of the Page List property lookIn.
IsInPageListWhen(whenName, lookIn) Returns true if, for any one of the pages of the Page List property lookIn, the when condition rule whenName evaluates to true.

(These functions also work when the lookIn parameter identifies a Page Group.)

PEGA0035 alert

By default, a PEGA0035 alert appears if a Page List property has more than 10,000 pages. You can disable this alert or raise or lower the threshold.

Definitions aggregate, autopopulated property, DataGrid control, page, Page Group, property mode
Related topics About Property rules
How to reference parts of aggregate properties
How to detect when a Page List property has many elements
Using the Clipboard tool

zzz Definitions — P