org.eclipse.emf.transaction.util
Class ValidateEditSupport.Default
java.lang.Object
org.eclipse.emf.transaction.util.ValidateEditSupport.Default
-
All Implemented Interfaces:
-
ValidateEditSupport
-
Enclosing interface:
-
ValidateEditSupport
-
public static class ValidateEditSupport.Default
- extends
Object
- implements
ValidateEditSupport
A default implementation of the
ValidateEditSupport
interface,
that uses the editing domain's read-only resource map to determine
whether a resource can be edited and depends on notifications of the
Resource.isModified()
property changing to track which resources
need to be validated (note that this implies that the resource is
tracking modifications). It does not do any user prompting.
In anticipation of rollback, this implementation resets any resources
that were modified back to unmodified state (as it only validates those
that were previously unmodified).
-
Since:
- 1.2
Method Summary
|
protected
IStatus
|
doValidateEdit
(
Transaction transaction,
Collection<? extends
Resource> resources,
Object context)
Performs the actual edit validation. |
void
|
finalizeForCommit
()
The default implementation simply forgets the resources to validate. |
void
|
finalizeForRollback
()
Rolls back the modified state of the resources that were validated to
let them once again be un-modified, then forgets them. |
protected
Set<
Resource>
|
getResourcesToValidate
()
Obtains the set of resources that we have determined need to be
validated for edit, because they have changed from being unmodified
to modified. |
void
|
handleResourceChange
(
Resource resource,
Notification notification)
Processes a notification from a resource that may
either indicate that the resource should be added to the validate
list (i.e., its persisted state is changed) or it should be removed
from the validate list (e.g., because it has been unloaded). |
IStatus
|
validateEdit
(
Transaction transaction,
Object context)
Performs validate-edit for a transaction. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
ValidateEditSupport.Default
public ValidateEditSupport.Default()
- Initializes me.
getResourcesToValidate
protected final
Set<
Resource> getResourcesToValidate()
- Obtains the set of resources that we have determined need to be
validated for edit, because they have changed from being unmodified
to modified.
-
-
-
Returns:
- the resources to validate-edit
validateEdit
public
IStatus validateEdit(
Transaction transaction,
Object context)
-
Description copied from interface:
ValidateEditSupport
- Performs validate-edit for a transaction.
-
-
Specified by:
-
validateEdit
in interface
ValidateEditSupport
-
-
Parameters:
-
transaction
- the root-level transaction that is attempting to commit -
context
- usually a org.eclipse.swt.widgets.Shell
providing a UI context for interaction with the user to make resources
modifiable, or null
if no such context is available and
the system should attempt to automatically validate
-
Returns:
- a status indicating OK if validate-edit succeeded,
otherwise some reason why it failed and the transaction should roll
back
doValidateEdit
protected
IStatus doValidateEdit(
Transaction transaction,
Collection<? extends
Resource> resources,
Object context)
- Performs the actual edit validation. May be overridden by subclasses
to provide a different mechanism.
-
-
-
Parameters:
-
transaction
- the transaction that is attempting to commit -
resources
- the resources to validate-edit -
context
- the validate-edit context, or null
if none
-
Returns:
- the result of the validate-edit attempt
finalizeForRollback
public void finalizeForRollback()
- Rolls back the modified state of the resources that were validated to
let them once again be un-modified, then forgets them.
-
-
Specified by:
-
finalizeForRollback
in interface
ValidateEditSupport
-
finalizeForCommit
public void finalizeForCommit()
- The default implementation simply forgets the resources to validate.
-
-
Specified by:
-
finalizeForCommit
in interface
ValidateEditSupport
-
handleResourceChange
public void handleResourceChange(
Resource resource,
Notification notification)
-
Description copied from interface:
ValidateEditSupport
- Processes a notification from a resource that may
either indicate that the resource should be added to the validate
list (i.e., its persisted state is changed) or it should be removed
from the validate list (e.g., because it has been unloaded).
-
-
Specified by:
-
handleResourceChange
in interface
ValidateEditSupport
-
-
Parameters:
-
resource
- a resource to add or remove to/from the validate list -
notification
- a notification