Class ValidationServiceImpl
- java.lang.Object
-
- org.eclipse.emfforms.common.internal.validation.ValidationServiceImpl
-
- All Implemented Interfaces:
ValidationService
public class ValidationServiceImpl extends java.lang.Object implements ValidationService
The implementation ofValidationService
.- Author:
- Mat Hansen
-
-
Constructor Summary
Constructors Constructor Description ValidationServiceImpl()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addDiagnosticFilter(DiagnosticFilter diagnosticFilter)
Adds aDiagnosticFilter
to remove specificDiagnostic
from the result of a validation.void
addObjectFilter(ObjectFilter objectFilter)
Adds anObjectFilter
to skip specific EObjects during the validation.void
addSubTreeFilter(SubTreeFilter subTreeFilter)
Adds aSubTreeFilter
to skip specific sub trees during the validation.void
addValidator(Validator validator)
Adds a validation provider to the list of known validators.void
cancel()
Allows to cancel the current validation run (if any).protected org.eclipse.emf.common.util.Diagnostic
getDiagnosticForEObject(org.eclipse.emf.ecore.EObject object)
Computes theDiagnostic
for the given eObject.protected org.eclipse.emf.ecore.EValidator
getEValidatorForEObject(org.eclipse.emf.ecore.EObject eObject)
Returns aEValidator
for the givenEObject
.protected java.util.Map<java.lang.Object,java.lang.Object>
getValidationContext(org.eclipse.emf.ecore.EValidator eValidator)
Obtains the shared validation context for a validation of multiple objects or a one-off context for validation of a single object.boolean
isBusy()
Returns true as long as a validation is in process.void
registerValidationFilter(ValidationFilter filter)
Deprecated.void
registerValidationResultListener(ValidationResultListener listener)
Registers aValidationResultListener
.void
removeDiagnosticFilter(DiagnosticFilter diagnosticFilter)
Removes aDiagnosticFilter
.void
removeObjectFilter(ObjectFilter objectFilter)
Removes anObjectFilter
.void
removeSubTreeFilter(SubTreeFilter subTreeFilter)
Removes aSubTreeFilter
.void
removeValidator(Validator validator)
Removes a validation provider from the list of known validators.void
setSubstitutionLabelProvider(org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider substitutionLabelProvider)
Set aEValidator.SubstitutionLabelProvider
to be used for substituting labels inDiagnostic
s.void
unregisterValidationFilter(ValidationFilter filter)
Deprecated.void
unregisterValidationResultListener(ValidationResultListener listener)
Unregisters aValidationResultListener
.java.util.Set<org.eclipse.emf.common.util.Diagnostic>
validate(java.util.Iterator<org.eclipse.emf.ecore.EObject> eObjectsIterator)
Uses the given iterator to validate all eObjects in a collection.org.eclipse.emf.common.util.Diagnostic
validate(org.eclipse.emf.ecore.EObject eObject)
Validates the given eObject.
-
-
-
Method Detail
-
validate
public org.eclipse.emf.common.util.Diagnostic validate(org.eclipse.emf.ecore.EObject eObject)
Description copied from interface:ValidationService
Validates the given eObject.- Specified by:
validate
in interfaceValidationService
- Parameters:
eObject
- the eObject to validate- Returns:
- the resulting
Diagnostic
, or null if the eObject is filtered by aValidationFilter
-
validate
public java.util.Set<org.eclipse.emf.common.util.Diagnostic> validate(java.util.Iterator<org.eclipse.emf.ecore.EObject> eObjectsIterator) throws ValidationCanceledException
Description copied from interface:ValidationService
Uses the given iterator to validate all eObjects in a collection.- Specified by:
validate
in interfaceValidationService
- Parameters:
eObjectsIterator
- the list to validate- Returns:
- the resulting set of
Diagnostic
s - Throws:
ValidationCanceledException
- in caseValidationService.cancel()
has been called
-
getEValidatorForEObject
protected org.eclipse.emf.ecore.EValidator getEValidatorForEObject(org.eclipse.emf.ecore.EObject eObject)
Returns aEValidator
for the givenEObject
.- Parameters:
eObject
- theEObject
to retrieve aEValidator
for- Returns:
- the
EValidator
-
getDiagnosticForEObject
protected org.eclipse.emf.common.util.Diagnostic getDiagnosticForEObject(org.eclipse.emf.ecore.EObject object)
Computes theDiagnostic
for the given eObject.- Parameters:
object
- theEObject
to validate- Returns:
- the
Diagnostic
-
getValidationContext
protected java.util.Map<java.lang.Object,java.lang.Object> getValidationContext(org.eclipse.emf.ecore.EValidator eValidator)
Obtains the shared validation context for a validation of multiple objects or a one-off context for validation of a single object. If I have asubstitution label provider
, thn it will also be put into the context. Subclasses may extend this to populate the context with anything else of interest.- Parameters:
eValidator
- the validator to put into the context- Returns:
- the context
-
addValidator
public void addValidator(Validator validator)
Description copied from interface:ValidationService
Adds a validation provider to the list of known validators.- Specified by:
addValidator
in interfaceValidationService
- Parameters:
validator
- theValidator
to add
-
removeValidator
public void removeValidator(Validator validator)
Description copied from interface:ValidationService
Removes a validation provider from the list of known validators.- Specified by:
removeValidator
in interfaceValidationService
- Parameters:
validator
- theValidator
to remove
-
registerValidationFilter
@Deprecated public void registerValidationFilter(ValidationFilter filter)
Deprecated.Description copied from interface:ValidationService
Registers a validation filter.- Specified by:
registerValidationFilter
in interfaceValidationService
- Parameters:
filter
- theValidationFilter
to register
-
unregisterValidationFilter
@Deprecated public void unregisterValidationFilter(ValidationFilter filter)
Deprecated.Description copied from interface:ValidationService
Unregisters a validation filter.- Specified by:
unregisterValidationFilter
in interfaceValidationService
- Parameters:
filter
- theValidationFilter
to unregister
-
registerValidationResultListener
public void registerValidationResultListener(ValidationResultListener listener)
Description copied from interface:ValidationService
Registers aValidationResultListener
.- Specified by:
registerValidationResultListener
in interfaceValidationService
- Parameters:
listener
- theValidationResultListener
to register
-
unregisterValidationResultListener
public void unregisterValidationResultListener(ValidationResultListener listener)
Description copied from interface:ValidationService
Unregisters aValidationResultListener
.- Specified by:
unregisterValidationResultListener
in interfaceValidationService
- Parameters:
listener
- theValidationResultListener
to unregister
-
setSubstitutionLabelProvider
public void setSubstitutionLabelProvider(org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider substitutionLabelProvider)
Description copied from interface:ValidationService
Set aEValidator.SubstitutionLabelProvider
to be used for substituting labels inDiagnostic
s.- Specified by:
setSubstitutionLabelProvider
in interfaceValidationService
- Parameters:
substitutionLabelProvider
- theEValidator.SubstitutionLabelProvider
to be set for this service- See Also:
EValidator.SubstitutionLabelProvider
-
isBusy
public boolean isBusy()
Description copied from interface:ValidationService
Returns true as long as a validation is in process. Not applicable for single validation runs withValidationService.validate(EObject)
. SeeValidationService.cancel()
to interrupt a running validation process.- Specified by:
isBusy
in interfaceValidationService
- Returns:
- true as long as a validation is running, false otherwise.
-
cancel
public void cancel()
Description copied from interface:ValidationService
Allows to cancel the current validation run (if any). Not applicable for single validation runs withValidationService.validate(EObject)
.- Specified by:
cancel
in interfaceValidationService
-
addSubTreeFilter
public void addSubTreeFilter(SubTreeFilter subTreeFilter)
Description copied from interface:ValidationService
Adds aSubTreeFilter
to skip specific sub trees during the validation.null
is ignored.- Specified by:
addSubTreeFilter
in interfaceValidationService
- Parameters:
subTreeFilter
-SubTreeFilter
-
addObjectFilter
public void addObjectFilter(ObjectFilter objectFilter)
Description copied from interface:ValidationService
Adds anObjectFilter
to skip specific EObjects during the validation.null
is ignored.- Specified by:
addObjectFilter
in interfaceValidationService
- Parameters:
objectFilter
-ObjectFilter
-
addDiagnosticFilter
public void addDiagnosticFilter(DiagnosticFilter diagnosticFilter)
Description copied from interface:ValidationService
Adds aDiagnosticFilter
to remove specificDiagnostic
from the result of a validation.null
is ignored.- Specified by:
addDiagnosticFilter
in interfaceValidationService
- Parameters:
diagnosticFilter
-DiagnosticFilter
-
removeSubTreeFilter
public void removeSubTreeFilter(SubTreeFilter subTreeFilter)
Description copied from interface:ValidationService
Removes aSubTreeFilter
.- Specified by:
removeSubTreeFilter
in interfaceValidationService
- Parameters:
subTreeFilter
-SubTreeFilter
-
removeObjectFilter
public void removeObjectFilter(ObjectFilter objectFilter)
Description copied from interface:ValidationService
Removes anObjectFilter
.- Specified by:
removeObjectFilter
in interfaceValidationService
- Parameters:
objectFilter
-ObjectFilter
-
removeDiagnosticFilter
public void removeDiagnosticFilter(DiagnosticFilter diagnosticFilter)
Description copied from interface:ValidationService
Removes aDiagnosticFilter
.- Specified by:
removeDiagnosticFilter
in interfaceValidationService
- Parameters:
diagnosticFilter
-DiagnosticFilter
-
-