Package de.gebit.integrity.runner.modelcheck

## Class DefaultModelChecker

- java.lang.Object
- - de.gebit.integrity.runner.modelcheck.DefaultModelChecker

- All Implemented Interfaces:
    `ModelChecker`

      public class DefaultModelChecker
      extends Object
      implements ModelChecker

  Default implementation of a `ModelChecker`.
  Author:
    Rene Schneider - initial API and implementation

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected IntegrityClassLoader` | `classLoader` | The classloader to use for class resolving.
    `protected ModelSourceExplorer` | `modelSourceExplorer` | The model source explorer.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DefaultModelChecker()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `check​(Call aCall)` | Validates a call.
    `void` | `check​(CustomOperation aCustomOperation)` | Validates a custom operation.
    `void` | `check​(Suite aSuite)` | Validates a suite call.
    `void` | `check​(TableTest aTableTest)` | Validates a tabletest.
    `void` | `check​(Test aTest)` | Validates a test.
    `protected void` | `checkEnumValue​(EnumValue aValue)` | Checks an `EnumValue`.
    `protected void` | `checkNestedObject​(NestedObject anObject)` | Checks a `NestedObject`.
    `protected void` | `checkOperation​(Operation anOperation)` | Checks an `Operation`.
    `protected void` | `checkParameters​(List<Parameter> someParameters, String aFixtureName)` | Checks a list of parameters (of a test or call).
    `protected void` | `checkSingleFixedNamedResult​(FixedResultName aFixedResultName, String aTestName)` | Checks a single fixed named result of a test.
    `protected void` | `checkSingleParameterName​(ParameterName aParameterName, String aTestOrCallName)` | Checks a single parameter name of a test or call.
    `protected void` | `checkTypedNestedObject​(TypedNestedObject anObject)` | Checks a `TypedNestedObject`.
    `protected void` | `checkValueContainer​(Value aValue)` | Check a `Value`.
    `protected void` | `checkValueContainer​(ValueOrEnumValueOrOperation aValue)` | Check a `ValueOrEnumValueOrOperation`.
    `protected void` | `checkValueContainer​(ValueOrEnumValueOrOperationCollection aValue)` | Check a `ValueOrEnumValueOrOperationCollection`.
    `protected void` | `checkVariable​(Variable aVariable)` | Checks a `Variable`.
    `protected void` | `checkVariableVariable​(VariableVariable aVariable)` | Checks a `VariableVariable`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### classLoader

          @Inject
          protected IntegrityClassLoader classLoader

      The classloader to use for class resolving.

    - #### modelSourceExplorer

          @Inject
          protected ModelSourceExplorer modelSourceExplorer

      The model source explorer.

  - ### Constructor Detail

    - #### DefaultModelChecker

          public DefaultModelChecker()

  - ### Method Detail

    - #### check

          public void check​(Test aTest)
                     throws ModelRuntimeLinkException

      Description copied from interface: `ModelChecker`
      Validates a test.
      Specified by:
        `check` in interface `ModelChecker`
      Parameters:
        `aTest` - the test to check
      Throws:
        `ModelRuntimeLinkException`

    - #### check

          public void check​(Call aCall)
                     throws ModelRuntimeLinkException

      Description copied from interface: `ModelChecker`
      Validates a call.
      Specified by:
        `check` in interface `ModelChecker`
      Parameters:
        `aCall` - the call to check
      Throws:
        `ModelRuntimeLinkException`

    - #### check

          public void check​(TableTest aTableTest)
                     throws ModelRuntimeLinkException

      Description copied from interface: `ModelChecker`
      Validates a tabletest.
      Specified by:
        `check` in interface `ModelChecker`
      Parameters:
        `aTableTest` - the tabletest to check
      Throws:
        `ModelRuntimeLinkException`

    - #### check

          public void check​(CustomOperation aCustomOperation)
                     throws ModelRuntimeLinkException

      Description copied from interface: `ModelChecker`
      Validates a custom operation.
      Specified by:
        `check` in interface `ModelChecker`
      Parameters:
        `aCustomOperation` - the custom operation to check
      Throws:
        `ModelRuntimeLinkException`

    - #### checkParameters

          protected void checkParameters​(List<Parameter> someParameters,
                                         String aFixtureName)

      Checks a list of parameters (of a test or call).
      Parameters:
        `someParameters` - a list of parameters to check
        `aFixtureName` - the fixture name that these parameters belong to (used for error output)

    - #### checkSingleParameterName

          protected void checkSingleParameterName​(ParameterName aParameterName,
                                                  String aTestOrCallName)

      Checks a single parameter name of a test or call.
      Parameters:
        `aParameterName` - the parameter name to check
        `aTestOrCallName` - the test/call name that this parameter belongs to (used for error output)

    - #### checkSingleFixedNamedResult

          protected void checkSingleFixedNamedResult​(FixedResultName aFixedResultName,
                                                     String aTestName)

      Checks a single fixed named result of a test.
      Parameters:
        `aFixedResultName` - the fixed result name to check
        `aTestName` - the test name that this result belongs to (for error output)

    - #### check

          public void check​(Suite aSuite)
                     throws ModelRuntimeLinkException

      Description copied from interface: `ModelChecker`
      Validates a suite call.
      Specified by:
        `check` in interface `ModelChecker`
      Parameters:
        `aSuite` - the suite call to check
      Throws:
        `ModelRuntimeLinkException`

    - #### checkValueContainer

          protected void checkValueContainer​(ValueOrEnumValueOrOperationCollection aValue)

      Check a `ValueOrEnumValueOrOperationCollection`.
      Parameters:
        `aValue` -

    - #### checkValueContainer

          protected void checkValueContainer​(ValueOrEnumValueOrOperation aValue)

      Check a `ValueOrEnumValueOrOperation`.
      Parameters:
        `aValue` -

    - #### checkValueContainer

          protected void checkValueContainer​(Value aValue)

      Check a `Value`.
      Parameters:
        `aValue` -

    - #### checkEnumValue

          protected void checkEnumValue​(EnumValue aValue)

      Checks an `EnumValue`.
      Parameters:
        `aValue` -

    - #### checkOperation

          protected void checkOperation​(Operation anOperation)

      Checks an `Operation`.
      Parameters:
        `anOperation` -

    - #### checkVariable

          protected void checkVariable​(Variable aVariable)

      Checks a `Variable`.
      Parameters:
        `aVariable` -

    - #### checkVariableVariable

          protected void checkVariableVariable​(VariableVariable aVariable)

      Checks a `VariableVariable`.
      Parameters:
        `aVariable` -

    - #### checkNestedObject

          protected void checkNestedObject​(NestedObject anObject)

      Checks a `NestedObject`.
      Parameters:
        `anObject` -

    - #### checkTypedNestedObject

          protected void checkTypedNestedObject​(TypedNestedObject anObject)

      Checks a `TypedNestedObject`.
      Parameters:
        `anObject` -