Package de.gebit.integrity.classloading

## Interface IntegrityClassLoader

- All Known Implementing Classes:
    `DefaultIntegrityClassLoader`

      public interface IntegrityClassLoader

  This service is used by Integrity to internally load classes for test execution.
  Author:
    Rene Schneider - initial API and implementation

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Class<?>` | `loadClass​(JavaClassReference aClassReference)` | Load the class defined by the provided `JavaClassReference`.
    `Class<?>` | `loadClass​(JavaConstantReference aConstantReference)` | Load the class defined by the provided `JavaConstantReference`.
    `Class<?>` | `loadClass​(MethodReference aMethodReference)` | Load the class defined by the provided `MethodReference`.
    `Class<?>` | `loadClass​(OperationDefinition anOperationDefinition)` | Load the class defined by the provided `OperationDefinition`.
    `Class<?>` | `loadClass​(String aClassName)` | Loads the class given by the fully-qualified name.
    `Class<?>` | `loadClass​(org.eclipse.xtext.common.types.JvmType aType)` | Load the class defined by the provided `JvmType`.
    `Method` | `loadMethod​(MethodReference aMethodReference)` | First loads the class defined by the provided `MethodReference`, then loads the method.

- - ### Method Detail

    - #### loadClass

          Class<?> loadClass​(MethodReference aMethodReference)
                      throws ClassNotFoundException

      Load the class defined by the provided `MethodReference`.
      Parameters:
        `aMethodReference` - the method reference referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

          Class<?> loadClass​(JavaConstantReference aConstantReference)
                      throws ClassNotFoundException

      Load the class defined by the provided `JavaConstantReference`.
      Parameters:
        `aConstantReference` - the constant reference referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

          Class<?> loadClass​(JavaClassReference aClassReference)
                      throws ClassNotFoundException

      Load the class defined by the provided `JavaClassReference`.
      Parameters:
        `aClassReference` - the class reference referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

          Class<?> loadClass​(org.eclipse.xtext.common.types.JvmType aType)
                      throws ClassNotFoundException

      Load the class defined by the provided `JvmType`.
      Parameters:
        `aType` - the type referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

          Class<?> loadClass​(String aClassName)
                      throws ClassNotFoundException

      Loads the class given by the fully-qualified name.
      Parameters:
        `aClassName` - the class to load
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

          Class<?> loadClass​(OperationDefinition anOperationDefinition)
                      throws ClassNotFoundException

      Load the class defined by the provided `OperationDefinition`.
      Parameters:
        `anOperationDefinition` - the operation definition referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadMethod

          Method loadMethod​(MethodReference aMethodReference)
                     throws ClassNotFoundException,
                            MethodNotFoundException

      First loads the class defined by the provided `MethodReference`, then loads the method.
      Parameters:
        `aMethodReference` - the method reference referring to class and method
      Returns:
        the loaded method
      Throws:
        `ClassNotFoundException`
        `MethodNotFoundException`