§Wanted
a way to perform validation operations on elements
§
§Wanted
to be able to evaluate different sets of constraints
§
§Implemented
custom Switch subclasses to execute validation rules
§implemented
validate(EObject,
IProgressMonitor) to invoke the switch and return an
outcome in the form of a status object
§overrode
Uml2Switch#defaultCase(EObject)
to recursively invoke the switch on the object’s contents
§overrode Uml2Switch#doSwitch(EObject) to
inform the progress monitor of progress
§overrode Uml2Switch#case*(*) for each type
of element to which constraints apply