Class BasicCheck
- java.lang.Object
-
- com.e1c.g5.v8.dt.check.components.BasicCheck
-
- All Implemented Interfaces:
ITopObjectFilter
,ICheck
- Direct Known Subclasses:
DocumentationCommentBasicDelegateCheck
,QlBasicDelegateCheck
public abstract class BasicCheck extends Object implements ICheck, ITopObjectFilter
Standard implementation of check with wide capabilities of configuring. Provides simplified scheme for the definition of a check lifecycle based on the tracking of the feature changes of the target object See theBasicCheck.CheckConfigurer
for the details of the configuration process
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BasicCheck.CheckConfigurer
The root object of the simplified check configuration based on the EMF model structure definition.static class
BasicCheck.CheckParameterBuilder
Check parameter builder.static class
BasicCheck.ContainmentConfigurationBuilder
Containment configuration builder.static class
BasicCheck.DelegateCheckConfigurationBuilder
Delegated computation configuration builder.static class
BasicCheck.ModuleConfigurationBuilder
Module configuration builder.static class
BasicCheck.ResultAcceptor
Accepts results of the check in form ofIssue
's.static class
BasicCheck.TopObjectConfigurationBuilder
Top object configuration builder.static class
BasicCheck.TopObjectFeatureConfigurationBuilder
Builder that supports building of the top object feature tracking rules configuration.
-
Constructor Summary
Constructors Constructor Description BasicCheck()
Constructs an instance of the check
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract void
check(Object object, BasicCheck.ResultAcceptor resultAcceptor, ICheckParameters parameters, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
The method that performs the check.void
check(Object object, ICheckResultAcceptor resultRegistrar, ICheckParameters parameters, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
All checked objects must be registered in resultAcceptor.protected abstract void
configureCheck(BasicCheck.CheckConfigurer configurationBuilder)
The check is performed in case of changes of the tracjed object model/language module changes.void
configureContextCollector(ICheckDefinition definition)
The first phase of the check performing is the check context prepartion.boolean
isCheckApplicable(IBmObject topObject, ICheckParameters parameters)
Checks if the given top object is a potential target of the current check.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.e1c.g5.v8.dt.check.ICheck
getCheckId
-
-
-
-
Method Detail
-
check
public final void check(Object object, ICheckResultAcceptor resultRegistrar, ICheckParameters parameters, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
Description copied from interface:ICheck
All checked objects must be registered in resultAcceptor. Each checked object should be in the result, regardless of whether there are any issues in it. Adding objects that do not have errors in result is necessary to clear issues that were not previously defined in the object. Validation may be cancelled by user. Complex implemantation should take this into account and checksIProgressMonitor.isCanceled()
between long time operations.
-
configureContextCollector
public final void configureContextCollector(ICheckDefinition definition)
Description copied from interface:ICheck
The first phase of the check performing is the check context prepartion. The check should react to the system events and mark situations when the check launch is required. TheCheckDefinition
defines the logic of check context collection, see it for more details- Specified by:
configureContextCollector
in interfaceICheck
-
isCheckApplicable
public boolean isCheckApplicable(IBmObject topObject, ICheckParameters parameters)
Description copied from interface:ITopObjectFilter
Checks if the given top object is a potential target of the current check. This method is being called by the check engine during the validation cycle, effectively preventing the check from execution in case of false decision- Specified by:
isCheckApplicable
in interfaceITopObjectFilter
- Parameters:
topObject
- The top object to check. May not benull
parameters
- The set of the check parameter. May not benull
- Returns:
- True if the top object is potential target for the check. False overwise.
-
check
protected abstract void check(Object object, BasicCheck.ResultAcceptor resultAcceptor, ICheckParameters parameters, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
The method that performs the check. Check results (issues) need to be placed into the result acceptor. Validation may be cancelled by a user. Complex implemantations should take this into the account and checkIProgressMonitor.isCanceled()
periodically during long-running operations.- Parameters:
object
- The object to check, notnull
resultAcceptor
- Result acceptor, notnull
parameters
- The set of check execution parameters taken from check settings, notnull
progressMonitor
- Current check progress monitor, notnull
-
configureCheck
protected abstract void configureCheck(BasicCheck.CheckConfigurer configurationBuilder)
The check is performed in case of changes of the tracjed object model/language module changes. In order to define the rules of the check performing, the developer should define the set ofEClass
'es and their features those changes are being tracked/or be targets of the validation- Parameters:
checkConfigurer
- The check configuration builder. May not benull
-
-