Package de.gebit.integrity.classloading

## Class DefaultIntegrityClassLoader

- java.lang.Object
- - de.gebit.integrity.classloading.DefaultIntegrityClassLoader

- All Implemented Interfaces:
    `IntegrityClassLoader`

      public class DefaultIntegrityClassLoader
      extends Object
      implements IntegrityClassLoader

  Basic implementation of `IntegrityClassLoader`. Uses the injected Java classloader internally.
  Author:
    Rene Schneider - initial API and implementation

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ClassLoader` | `classLoader` | The actual classloader used internally.
    `protected ModelSourceExplorer` | `modelSourceExplorer` | The model source explorer.

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete 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.

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

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

- - ### Field Detail

    - #### classLoader

          @Inject
          protected ClassLoader classLoader

      The actual classloader used internally.

    - #### modelSourceExplorer

          @Inject
          protected ModelSourceExplorer modelSourceExplorer

      The model source explorer.

  - ### Constructor Detail

    - #### DefaultIntegrityClassLoader

          public DefaultIntegrityClassLoader()

  - ### Method Detail

    - #### loadClass

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

      Description copied from interface: `IntegrityClassLoader`
      Load the class defined by the provided `JvmType`.
      Specified by:
        `loadClass` in interface `IntegrityClassLoader`
      Parameters:
        `aType` - the type referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

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

      Description copied from interface: `IntegrityClassLoader`
      Loads the class given by the fully-qualified name.
      Specified by:
        `loadClass` in interface `IntegrityClassLoader`
      Parameters:
        `aClassName` - the class to load
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

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

      Description copied from interface: `IntegrityClassLoader`
      Load the class defined by the provided `OperationDefinition`.
      Specified by:
        `loadClass` in interface `IntegrityClassLoader`
      Parameters:
        `anOperationDefinition` - the operation definition referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

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

      Description copied from interface: `IntegrityClassLoader`
      Load the class defined by the provided `MethodReference`.
      Specified by:
        `loadClass` in interface `IntegrityClassLoader`
      Parameters:
        `aMethodReference` - the method reference referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

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

      Description copied from interface: `IntegrityClassLoader`
      Load the class defined by the provided `JavaConstantReference`.
      Specified by:
        `loadClass` in interface `IntegrityClassLoader`
      Parameters:
        `aConstantReference` - the constant reference referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadClass

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

      Description copied from interface: `IntegrityClassLoader`
      Load the class defined by the provided `JavaClassReference`.
      Specified by:
        `loadClass` in interface `IntegrityClassLoader`
      Parameters:
        `aClassReference` - the class reference referring to the class
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException`

    - #### loadMethod

          public Method loadMethod​(MethodReference aMethodReference)
                            throws ClassNotFoundException,
                                   MethodNotFoundException

      Description copied from interface: `IntegrityClassLoader`
      First loads the class defined by the provided `MethodReference`, then loads the method.
      Specified by:
        `loadMethod` in interface `IntegrityClassLoader`
      Parameters:
        `aMethodReference` - the method reference referring to class and method
      Returns:
        the loaded method
      Throws:
        `ClassNotFoundException`
        `MethodNotFoundException`