org.eclipse.emf.henshin.model
Interface SequentialUnit

All Superinterfaces:
EObject, ModelElement, MultiUnit, NamedElement, Notifier, Unit
All Known Implementing Classes:
SequentialUnitImpl

public interface SequentialUnit
extends MultiUnit

A representation of the model object 'Sequential Unit'.

Sequential units apply contained transformation units (including rules) sequentially. The application order is given by the position in the list returned by MultiUnit.getSubUnits().

The default behavior is as follows: each unit is applied one after the other. If a unit cannot be applied, the sequential units aborts, rolls back all changes of this sequential unit and returns false (indicates non-successful application). Otherwise true is returned.

This behavior can be altered slightly using attributes strict and rollback. The defaults are strict=true and rollback=true with the semantics described above. If strict=false, even inapplicable rules/units will not break the sequential application order, i.e., all containees are tried to be applied one after the other. Consequently, unstrict sequential units are always successful. If rollback=false no rollback is performed on aborts.

The following features are supported:

See Also:
HenshinPackage.getSequentialUnit()

Method Summary
 boolean isRollback()
          Returns the value of the 'Rollback' attribute.
 boolean isStrict()
          Returns the value of the 'Strict' attribute.
 void setRollback(boolean value)
          Sets the value of the 'Rollback' attribute.
 void setStrict(boolean value)
          Sets the value of the 'Strict' attribute.
 
Methods inherited from interface org.eclipse.emf.henshin.model.MultiUnit
getSubUnits
 
Methods inherited from interface org.eclipse.emf.henshin.model.Unit
getModule, getParameter, getParameterMappings, getParameters, getSubUnits, isActivated, setActivated
 
Methods inherited from interface org.eclipse.emf.henshin.model.NamedElement
getDescription, getName, setDescription, setName
 
Methods inherited from interface org.eclipse.emf.henshin.model.ModelElement
getAnnotations
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Method Detail

isStrict

boolean isStrict()
Returns the value of the 'Strict' attribute. The default value is "true".

Returns:
the value of the 'Strict' attribute.
See Also:
setStrict(boolean), HenshinPackage.getSequentialUnit_Strict()

setStrict

void setStrict(boolean value)
Sets the value of the 'Strict' attribute.

Parameters:
value - the new value of the 'Strict' attribute.
See Also:
isStrict()

isRollback

boolean isRollback()
Returns the value of the 'Rollback' attribute. The default value is "true".

Returns:
the value of the 'Rollback' attribute.
See Also:
setRollback(boolean), HenshinPackage.getSequentialUnit_Rollback()

setRollback

void setRollback(boolean value)
Sets the value of the 'Rollback' attribute.

Parameters:
value - the new value of the 'Rollback' attribute.
See Also:
isRollback()