A Page Group is a data structure consisting of an unordered set of pages, each identified by a string subscript value. In contrast, a Page List
data structure uses numeric indexes (subscripts) 1, 2, 3 to identify an ordered list of pages.
For example, a Page Group
property can contain an array of 50 pages, one for each state in the United States, indexed by state code. The reference:
State("VA").Population
can identify a numeric property for the state of Virginia.
Subscript values must be a valid Java identifier, starting with a letter. As a best practice, use only letters and digits in the subscript. Within each page, the pxSubscript property holds the subscript value.
Page Group
is one of the eleven modes a property can have.
On the left panel displays of the Clipboard tool and Explorer display of properties, the icon identifies property of mode Page Group
.
Generally, the order of elements in a Page Group
is arbitrary and not controlled by any settings available to application developers or users. (In contrast, elements in a Page List
property are ordered by the index — 1, 2, 3...).
A reference to a non-existent page in a Page Group
property causes a page with that name to be created; this is not an error.
You can call one of the standard activities @baseclass.AppendToPageGroup or Work-.AppendToPageGroup to add a page to a Page Group
property.
These standard function rules are useful when working with the pages of a Page Group
property. Matches require an exact case match, not using equalsIgnoreCase()
.
(The names of four functions include the word "List", but they can operate on Page Groups as well.)
Name |
Description |
entrySatisfiesCondition(LookIn, Operand, LookFor, Multiplicity) |
Examines the values of one scalar property reference on each page of the
Returns true if all (or any) of the values meet the comparison. Does not create any additional pages. Returns false if the For example: @entrySatisfiesCondition(.Invitees().age, ">", 45, "ANY") |
findInPageList(lookFor, lookAt, lookIn) | Use only in a Java context. Returns a Java ArrayList identifying those pages of the Page Group property lookIn which contain the string lookFor as the exact value of the scalar property lookAt . |
findInPageListWhen(whenName, lookIn) | Use only in a Java context. Returns a Java ArrayList identifying those pages of the Page Group 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 Group 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 Group 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 Group property lookIn. |
IsInPageListWhen(whenName, lookIn) | Returns true if, for any one of the pages of the Page Group property lookIn , the when condition rule whenName evaluates to true. |
(These functions also work when the lookIn
parameter identifies a Page List
.)