リスト操作

リスト操作関数中で、リストとしてドキュメント型属性が指定された場合、特に注記されている場合を除き、ドキュメントフォルダーのIDを値として扱います。
中に入っている文書の名前や文書IDが値として使用されるわけではありません。

Multiple

形式

Boolean Multiple(Object[] object)

説明

objectで指定されたオブジェクトが多値であるかどうかを判定します。objectがリストで、要素数が2以上の場合は、多値と判定します。ワークフローの属性定義の単値/多値を判断するわけではありません。
objectにドキュメント型属性が渡された場合、ドキュメント属性フォルダーの直下に位置するオブジェクトの数が2個以上だった場合にtrueを返します。

パラメーター

object

オブジェクト

戻り値

true

objectは多値です。

false

objectは単値です。

Count

形式

Long Count(Object[] list)

Long Count(Object[] list,Object target)

説明

listで指定されたオブジェクトの要素数を返します。第2引数targetが指定された場合、list内でtargetと一致する要素の数を返します。
listにドキュメント型属性が渡された場合、ドキュメント属性フォルダーの直下に位置するオブジェクトの数を返します。
ここで、targetに何らかの値を指定した場合、返り値は必ず0になります。ドキュメント型属性は、targetを使用して一致要素を判定することはできません。

パラメーター

list

多値

target

数を数えるオブジェクト

戻り値

要素数

多値が1,1,2,3だった場合
Count(${多値})→ 4
Count(${多値},1)→ 2

IsNull

形式

Boolean IsNull(Object[] object)

説明

objectがnull(属性値未設定状態)かどうかを判定します。
判定結果は次式と同じです。
Count(Object) == 0

パラメーター

list

対象属性値

戻り値

対象属性値がnull(未設定)であるかどうか

List

形式

Object[] List(Object object,...)

説明

引数に与えられたオブジェクトを格納したリストを返します。オブジェクトがリストの場合、それを展開して格納します。

パラメーター

object

オブジェクト

戻り値

オブジェクトを格納したリスト

Get

形式

Object Get(Object[] list,Long index)
Object Get(Object[] list,Long index,Object default)
Object[] Get(Object[] list,Long[] index)
Object[] Get(Object[] list,Long[] index,Object default)

説明

listのindex番めの要素を取得します。indexがリストのサイズより大きかった場合、defaultが指定されていればその値を取得できます。defaultが指定されなかった場合は、リストのサイズより大きなindexの値は無視されます。

パラメーター

list

ワークフローの属性

index

欲しい多値のインデックス(多値の最初の要素は1)

default

リストのサイズより大きなindexが指定されたときに返す値

戻り値

listのindex番めの要素

多値が1,1,2,3だった場合
Get(${多値},3) → 2
Get(${多値},5,10) → 10
Get(${多値},5) →(空)

Union

形式

Object[] Union(Object[] a,Object[] b)

説明

多値aとbの和集合(a∪b)を返します。

パラメーター

a

オブジェクト

b

オブジェクト

戻り値

a∪bのリスト

多値Aが1,1,2,3、多値Bが2,2,5だった場合
Union(${多値A},${多値B})
→ 1,1,2,3,2,2,5

InterSection

形式

Object[] InterSection(Object[] a,Object[] b)

説明

多値aとbの共通部分(積集合,a∩b)を返します。

パラメーター

a

オブジェクト

b

オブジェクト

戻り値

a∩bのリスト

多値Aが1,1,2,3、多値Bが2,2,5だった場合
InterSection(${多値A},${多値B})
→ 2

Diff

形式

Object[] Diff(Object[] a,Object[] b)

説明

多値aから多値bの要素を除いた集合(差集合,a-b)を返します。

パラメーター

a

オブジェクト

b

オブジェクト

戻り値

a-bのリスト

Unique

形式

Object[] Unique(Object[] list)

説明

list内の要素の重複を排除します。重複した要素は前の要素に集約されます。

パラメーター

list

対象となる値

戻り値

重複が排除されたリスト

Filter

形式

Object[] Filter(Object[] list, Boolean[] filter)

説明

リストの要素のうち、filterの値がtrueの添え字の要素だけを抜き出します。
listの要素数<filterの要素数だった場合は、あふれた部分は無視します。
listの要素数>filterの要素数だった場合は、足りない部分はfalseとみなします。

パラメーター

list

フィルタリングされるリスト

filter

フィルタリング対象のリスト

戻り値

listのサブリスト

Filter(["a","b","c"], [true,false]) → ["a"]
Filter(["a","b","c"], [true,false,true,true]) → ["a","c"]

FilterByParent

形式

Resource[] FilterByParent(Resource[] list, Resource[] parent, [ boolean recursive ] )

説明

リソース多値の中から、親がparentであるものだけを抜き出します。
parentが複数だった場合、parentにどれか1つでも親が存在すれば、親とみなします。
recursiveがtrueの場合、間接的な親も親とみなします。
recursive省略時はtrueが使用されます。

パラメーター

list

フィルタリングされるリソースのリスト

parent

親の候補

recursive

trueが指定された場合、間接的な親を親であるとみなす

戻り値

listのサブリスト

FilterByParent(${作業:担当者}, ToRole(“マネージャー”), false)
→ 作業「作業」の担当者のうち、マネージャーロールが直接与えられているリソースだけを取得します
FilterByParent(${承認担当者}, ${所属グループ} )
→ ユーザー属性「承認担当者」のうち、「所属グループ」に属するリソースだけを取得します

ページの先頭へ