Class BasicCheck.TopObjectConfigurationBuilder

java.lang.Object
com.e1c.g5.v8.dt.check.components.BasicCheck.TopObjectConfigurationBuilder
Enclosing class:
BasicCheck<CT>

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 Details

    • 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:
      ...
      &nbsp builder.topObject(CATALOG).
      &nbsp&nbsp&nbsp checkTop().
      &nbsp&nbsp&nbsp containment(CATALOG__ATTRIBUTES).
      ...
      Returns:
      The BasicCheck.TopObjectConfigurationBuilder for configuration chaining. May not be null
    • 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 be null
      Returns:
      The BasicCheck.TopObjectConfigurationBuilder for configuration chaining. May not be null
    • 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:
      ...
      &nbsp builder.topObject(CATALOG).
      &nbsp&nbsp&nbsp containment(CATALOG__TABULAR_SECTIONS, DB_OBJECT_TABULAR_SECTION__ATTRIBUTES).
      ...
      Parameters:
      containmentFeaturePath - The feature path. May not be null or empty
      Returns:
      The BasicCheck.ContainmentConfigurationBuilder for configuration chaining. May not be null
    • 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 the ICheck description for details and typically is used as a fallback for non-supported languages
      Parameters:
      description - The description to set. May not be null
      Returns:
      The BasicCheck.CheckConfigurer for configuration chaining. May not be null
    • 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 a checkTop() is specified or not

      Example: track changes of the Catalog name:
      ...
      &nbsp builder.topObject(CATALOG).
      &nbsp&nbsp&nbsp features(MD_OBJECT__NAME).
      ...
      Parameters:
      observedFeatures - The set of features of the corresponding top object to track changes for. May not be null or empty
      Returns:
      The BasicCheck.TopObjectFeatureConfigurationBuilder for configuration chaining. May not be null
    • issueType

      Defines the type of issues provided by this check
      Parameters:
      issueType - The type to set. May not be null
      Returns:
      The BasicCheck.CheckConfigurer for configuration chaining. May not be null
    • 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 the ICheckParameters Example: add Integer parameter to the check:
      ...
      &nbsp builder.topObject(CATALOG).
      &nbsp&nbsp&nbsp MIN_LENGTH_PARAMETER_NAME, Integer.class, "8", Messages.CatalogCodeLengthCheck_MinLengthParameter_Title).
      ...
      Parameters:
      name - The name of the parameter. May not be null. 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 definition
      type - The type of the parameter. May not be null. 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 be null 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 be null or empty
      Returns:
      The BasicCheck.CheckParameterBuilder for configuration chaining. May not be null
    • 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 be null
      Returns:
      The BasicCheck.CheckConfigurer for configuration chaining. May not be null
    • 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 be null
      Returns:
      The BasicCheck.CheckConfigurer for configuration chaining. May not be null
    • 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 corresponding EClass.
      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:
      ...
      &nbsp 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 - The EClass of the target top object. May not be null
      Returns:
      BasicCheck.TopObjectConfigurationBuilder bound to the context of the selected EClass and ready for further configuration. May not be null