Constructor and Description |
---|
YAWLReductionRule() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
canReset(YTask e) |
boolean |
checkEqualConditions(java.util.Set<YExternalNetElement> conditions)
Returns true if every condition in the set has one input and
one output and are not part of cancellation regions.
|
protected boolean |
hasAndJoin(YTask task) |
protected boolean |
hasAndSplit(YTask task) |
protected boolean |
hasMultiInAndOutFlows(YExternalNetElement e) |
protected boolean |
hasMultiInFlows(YExternalNetElement e) |
protected boolean |
hasMultiOutFlows(YExternalNetElement e) |
protected boolean |
hasOneInAndOutFlow(YExternalNetElement e) |
protected boolean |
hasOneInFlow(YExternalNetElement e) |
protected boolean |
hasOneOutFlow(YExternalNetElement e) |
protected boolean |
isInACancelSet(YExternalNetElement e) |
protected boolean |
presetEqualsPostset(YExternalNetElement e) |
YNet |
reduce(YNet net)
Main method for calling reduction rule, apply a reduction rule recursively
to a given net until it cannot be reduced further.
|
abstract YNet |
reduceElement(YNet net,
YExternalNetElement element)
Innermost method for a reduction rule.
|
void |
setLabel(YExternalNetElement e)
This method add labels for YConditions without a name
by setting the name to be the same as the ID.
|
public YNet reduce(YNet net)
net
- YNet to perform reduction
returns a reduced YNet or null if a given net cannot be reduced.public abstract YNet reduceElement(YNet net, YExternalNetElement element)
net
- YNet to perform reductionelement
- one element for consideration.
returns a reduced YNet or null if a given net cannot be reduced.
Must be implemented by individual reduction rulepublic boolean checkEqualConditions(java.util.Set<YExternalNetElement> conditions)
public void setLabel(YExternalNetElement e)
protected boolean hasOneInAndOutFlow(YExternalNetElement e)
protected boolean hasOneInFlow(YExternalNetElement e)
protected boolean hasOneOutFlow(YExternalNetElement e)
protected boolean hasMultiInAndOutFlows(YExternalNetElement e)
protected boolean hasMultiInFlows(YExternalNetElement e)
protected boolean hasMultiOutFlows(YExternalNetElement e)
protected boolean isInACancelSet(YExternalNetElement e)
protected boolean presetEqualsPostset(YExternalNetElement e)
protected boolean canReset(YTask e)
protected boolean hasAndSplit(YTask task)
protected boolean hasAndJoin(YTask task)