Proxy
Date: 2015-08-04

jep

## Class Proxy

- java.lang.Object
- - java.lang.reflect.Proxy
  - - jep.Proxy

- All Implemented Interfaces:
    java.io.Serializable

      public class Proxy
      extends java.lang.reflect.Proxy

  Extends java.lang.reflect.Proxy for callbacks.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class java.lang.reflect.Proxy

      `h`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Proxy(java.lang.reflect.InvocationHandler h)` Constructs a new Proxy instance from a subclass (typically, a dynamic proxy class) with the specified value for its invocation handler.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.Object` | `newProxyInstance(long tstate, long ltarget, Jep jep, java.lang.ClassLoader loader, java.lang.String[] interfaces)` Returns an instance of a proxy class for the specified interfaces that dispatches method invocations to the specified invocation handler.

    - ### Methods inherited from class java.lang.reflect.Proxy

      `getInvocationHandler, getProxyClass, isProxyClass, newProxyInstance`

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

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

- - ### Constructor Detail

    - #### Proxy

          protected Proxy(java.lang.reflect.InvocationHandler h)

      Constructs a new Proxy instance from a subclass (typically, a dynamic proxy class) with the specified value for its invocation handler.
      Parameters:
        `h` - an `InvocationHandler` value

  - ### Method Detail

    - #### newProxyInstance

          public static java.lang.Object newProxyInstance(long tstate,
                                          long ltarget,
                                          Jep jep,
                                          java.lang.ClassLoader loader,
                                          java.lang.String[] interfaces)
                                                   throws java.lang.IllegalArgumentException

           Returns an instance of a proxy class for the specified
           interfaces that dispatches method invocations to the specified
           invocation handler. This method is equivalent to:

           Proxy.getProxyClass(loader, interfaces).
               getConstructor(new Class[] { InvocationHandler.class }).
               newInstance(new Object[] { handler });

           Proxy.newProxyInstance throws IllegalArgumentException for the
           same reasons that Proxy.getProxyClass does.

      Parameters:
        `tstate` - a `long` value
        `ltarget` - a `long` value
        `jep` - a `Jep` value
        `loader` - the class loader to define the proxy class
        `interfaces` - the list of interfaces to implement
      Returns:
        an `Object` value
      Throws:
        `java.lang.IllegalArgumentException` - if an error occurs