Back Forward Page Group

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.

Example

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.

Notes

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 zzz 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.

Useful functions for Page Group properties

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 Page Group, where:

  • LookIn is a reference to a scalar value within the pages of a Page Group 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 Group 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 Group 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 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.)

Definitions page, Page List, property mode
Related topics About Property rules
Standard rules How to enter an identifier

zzzDefinitions — P