After two hours reading/searching in about examples and usages of
selection behavior of
object flows, I guess that selects all tokens which satisfy a criteria (like a query) and this can change order of tokens as specification in
18.104.22.168 Object Flows says:
If a selection Behavior is specified, then it is used to offer a token from a source ObjectNode to the ObjectFlow, rather than using the ObjectNode’s ordering.
But also above section says:
Whenever a new token is offered to the ObjectFlow, or an offer is withdrawn, the selection Behavior is invoked with the values from all the object tokens currently being offered to the ObjectFlow passed to the Behavior input Parameter. The selection Behavior should then select one of the input values and produce it as output
What I understand from second quote is:
- it only be invoked when a new token is offered or an offer is withdrawn (so not be invoked when a previously stored token is accepted)
- if multiple tokens are stored, it only selects one token (instead of all tokens which satisfy criteria) even if there are more tokens that satisfy condition. For example in this situation only one candidate will be accepted:
Are above bullets true?(I think those are incorrect; but those are my understand of second quote) Also what is the meaning of
offer is withdrawn in second quote?