Class BasicCheck.TopObjectConfigurationBuilder
- java.lang.Object
-
- com.e1c.g5.v8.dt.check.components.BasicCheck.TopObjectConfigurationBuilder
-
- Enclosing class:
- BasicCheck
public static final class BasicCheck.TopObjectConfigurationBuilder extends Object
Top object configuration builder. Defines the context of the model check launching rules. See documentation of methods for the usage instructions. This builder is not intended for the direct creation by check developers
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BasicCheck.TopObjectConfigurationBuilder
checkTop()
As the check allows to validate several objects by the same check, it's possible to state that both defined containments and top object should be a target of the validation.BasicCheck.CheckConfigurer
complexity(CheckComplexity complexity)
Defines the complexity of the check.BasicCheck.ContainmentConfigurationBuilder
containment(org.eclipse.emf.ecore.EClass containmentEClass)
Defines the feature path to the containment object of a current top object to track.BasicCheck.TopObjectConfigurationBuilder
description(String description)
Sets the simple description for the check.BasicCheck.TopObjectFeatureConfigurationBuilder
features(org.eclipse.emf.ecore.EStructuralFeature... observedFeatures)
Configures the change tracking for the set of top object features.BasicCheck.TopObjectConfigurationBuilder
issueType(IssueType issueType)
Defines the type of issues provided by this checkBasicCheck.CheckParameterBuilder
parameter(String name, Class<?> type, String defaultValue, String title)
Defines a parameter of the check.BasicCheck.CheckConfigurer
severity(IssueSeverity severity)
Defines the default severity of issues provided by this checkBasicCheck.TopObjectConfigurationBuilder
title(String title)
Defines the check title.BasicCheck.TopObjectConfigurationBuilder
topObject(org.eclipse.emf.ecore.EClass topObjectEClass)
Defines the check running rule on change of model top object data.
-
-
-
Method Detail
-
checkTop
public BasicCheck.TopObjectConfigurationBuilder checkTop()
As the check allows to validate several objects by the same check, it's possible to state that both defined containments and top object should be a target of the validation. Otherwise only defined containments will be targets of the check performing
Example: check Catalog object as well as CatalogAttribute's:
...
  builder.topObject(CATALOG).
    checkTop().
    containment(CATALOG__ATTRIBUTES).
...- Returns:
- The
BasicCheck.TopObjectConfigurationBuilder
for configuration chaining. May not benull
-
complexity
public BasicCheck.CheckConfigurer complexity(CheckComplexity complexity)
Defines the complexity of the check. The check subsystem takes this setting into the account while planning the check process to achieve maximum operativeness of checks- Parameters:
complexity
- The complexity to set. May not benull
- Returns:
- The
BasicCheck.TopObjectConfigurationBuilder
for configuration chaining. May not benull
-
containment
public BasicCheck.ContainmentConfigurationBuilder containment(org.eclipse.emf.ecore.EClass containmentEClass)
Defines the feature path to the containment object of a current top object to track. The feature path is a sequence of model features (single and many features) which leads to the target containment object from the top object.
Example: track the tabular section attribute of the Catalog:
...
  builder.topObject(CATALOG).
    containment(CATALOG__TABULAR_SECTIONS, DB_OBJECT_TABULAR_SECTION__ATTRIBUTES).
...- Parameters:
containmentFeaturePath
- The feature path. May not benull
or empty- Returns:
- The
BasicCheck.ContainmentConfigurationBuilder
for configuration chaining. May not benull
-
description
public BasicCheck.TopObjectConfigurationBuilder description(String description)
Sets the simple description for the check. This description may be overriden by the external description definition for the check (if defined), see theICheck
description for details and typically is used as a fallback for non-supported languages- Parameters:
description
- The description to set. May not benull
- Returns:
- The
BasicCheck.CheckConfigurer
for configuration chaining. May not benull
-
features
public BasicCheck.TopObjectFeatureConfigurationBuilder features(org.eclipse.emf.ecore.EStructuralFeature... observedFeatures)
Configures the change tracking for the set of top object features. The check will be called in case if any of these features will be changed. Adding a features means that the top object itself becomes the target of a check independently of acheckTop()
is specified or not
Example: track changes of the Catalog name:
...
  builder.topObject(CATALOG).
    features(MD_OBJECT__NAME).
...- Parameters:
observedFeatures
- The set of features of the corresponding top object to track changes for. May not benull
or empty- Returns:
- The
BasicCheck.TopObjectFeatureConfigurationBuilder
for configuration chaining. May not benull
-
issueType
public BasicCheck.TopObjectConfigurationBuilder issueType(IssueType issueType)
Defines the type of issues provided by this check- Parameters:
issueType
- The type to set. May not benull
- Returns:
- The
BasicCheck.CheckConfigurer
for configuration chaining. May not benull
-
parameter
public BasicCheck.CheckParameterBuilder parameter(String name, Class<?> type, String defaultValue, String title)
Defines a parameter of the check. The parameter will be available on the check preferences page for the editing and its value will be accessible during the check via theICheckParameters
Example: add Integer parameter to the check:
...
  builder.topObject(CATALOG).
    MIN_LENGTH_PARAMETER_NAME, Integer.class, "8", Messages.CatalogCodeLengthCheck_MinLengthParameter_Title).
...- Parameters:
name
- The name of the parameter. May not benull
. Must be unique among other parameters being defined for this check. In case if the name is not unqiue any arbitrary parameter definition may be selected as final parameter definitiontype
- The type of the parameter. May not benull
. The following set of the parameter types are supported:
- Boolean - supported values are: True, False, TRUE, FALSE
- Integer - matches requirements of the
Integer.valueOf(String)
- Long - - matches requirements of the
Long.valueOf(String)
- Double - supports dot separated format (XXXX.YYYY)
- String - any generic string
defaultValue
- The default value (as String). May benull
or empty. See the type parameter for the available values.title
- The title of the parameter to display to the user in the check preferences page. May benull
or empty- Returns:
- The
BasicCheck.CheckParameterBuilder
for configuration chaining. May not benull
-
severity
public BasicCheck.CheckConfigurer severity(IssueSeverity severity)
Defines the default severity of issues provided by this check- Parameters:
severity
- The severity to set. May not benull
- Returns:
- The
BasicCheck.CheckConfigurer
for configuration chaining. May not benull
-
title
public BasicCheck.TopObjectConfigurationBuilder title(String title)
Defines the check title. The title is being displayed in the check tree for easier navigation- Parameters:
title
- The title to set. May not benull
- Returns:
- The
BasicCheck.CheckConfigurer
for configuration chaining. May not benull
-
topObject
public BasicCheck.TopObjectConfigurationBuilder topObject(org.eclipse.emf.ecore.EClass topObjectEClass)
Defines the check running rule on change of model top object data. The object is defined by the correspondingEClass
.
The rest of check launching configuration for this object should be done via the object being returned by this method
Example: Start the configuration of check running rules for the Catalog object:
...
  builder.topObject(CATALOG).
... Please note, that calling of this method will effectively finish the configuration of the currently selected top object and begins the configuration of a new one. It's impossible to proceed with the configuration of the previous top object after the call of this method- Parameters:
topObjectEClass
- TheEClass
of the target top object. May not benull
- Returns:
BasicCheck.TopObjectConfigurationBuilder
bound to the context of the selectedEClass
and ready for further configuration. May not benull
-
-