Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tapestry5.ioc.internal.services
Class PlasticProxyFactoryImpl

    java.lang.Object
      org.apache.tapestry5.ioc.internal.services.PlasticProxyFactoryImpl

All Implemented Interfaces:
  PlasticProxyFactory, PlasticClassListenerHub

    public class PlasticProxyFactoryImpl

extends java.lang.Object
implements PlasticProxyFactory

Constructor Summary
`PlasticProxyFactoryImpl(java.lang.ClassLoader parentClassLoader, org.slf4j.Logger logger)`
`PlasticProxyFactoryImpl(PlasticManager manager, org.slf4j.Logger logger)`

Method Summary
`void` | `addPlasticClassListener(PlasticClassListener listener)`
`void` | `clearCache()` Clears any cached information stored by the proxy factory; this is useful in Tapestry development mode when a class loader may have been discarded (because the proxy factory may indirectly keep references to classes loaded by the old class loader).
`
`<T> T`
` | `createProxy(java.lang.Class<T> interfaceType, ObjectCreator<T> creator, java.lang.String description)` Creates a proxy instance that delegates all methods through a corresponding ObjectCreator.
`
`<T> ClassInstantiator<T>`
` | `createProxy(java.lang.Class<T> interfaceType, PlasticClassTransformer callback)` Creates a proxy object that implements the indicated interface, then invokes the callback to further configure the proxy.
`PlasticClassTransformation` | `createProxyTransformation(java.lang.Class interfaceType)` Creates the underlying `PlasticClassTransformation` for an interface proxy.
`java.lang.ClassLoader` | `getClassLoader()` Returns the class loader used when creating new classes, this is a child class loader of another class loader (usually, the thread's context class loader).
`Location` | `getConstructorLocation(java.lang.reflect.Constructor constructor)` Return a string representation for the constructor (including class and parameters) and (if available) file name and line number.
`Location` | `getMemberLocation(java.lang.reflect.Member member, java.lang.String methodName, java.lang.String memberTypeDesc, ObjectCreator<java.lang.String> textDescriptionCreator)`
`Location` | `getMethodLocation(java.lang.reflect.Method method)` Converts a method to a `Location`, which includes information about the source file name and line number.
`void` | `removePlasticClassListener(PlasticClassListener listener)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PlasticProxyFactoryImpl

    public PlasticProxyFactoryImpl(java.lang.ClassLoader parentClassLoader,
                                   org.slf4j.Logger logger)

### PlasticProxyFactoryImpl

    public PlasticProxyFactoryImpl(PlasticManager manager,
                                   org.slf4j.Logger logger)

Method Detail

### getClassLoader

    public java.lang.ClassLoader getClassLoader()

  Description copied from interface: `PlasticProxyFactory`
  Returns the class loader used when creating new classes, this is a child class loader of another class loader (usually, the thread's context class loader).

  Specified by:
    `getClassLoader` in interface `PlasticProxyFactory`

### createProxy

    public <T> ClassInstantiator<T> createProxy(java.lang.Class<T> interfaceType,
                                                PlasticClassTransformer callback)

  Description copied from interface: `PlasticProxyFactory`
  Creates a proxy object that implements the indicated interface, then invokes the callback to further configure the proxy.

  Specified by:
    `createProxy` in interface `PlasticProxyFactory`
  Parameters:
    `interfaceType` - interface implemented by proxy
    `callback` - configures the proxy
  Returns:
    instantiator that can be used to create an instance of the proxy class

### createProxyTransformation

    public PlasticClassTransformation createProxyTransformation(java.lang.Class interfaceType)

  Description copied from interface: `PlasticProxyFactory`
  Creates the underlying `PlasticClassTransformation` for an interface proxy. This should only be used in the cases where encapsulating the PlasticClass construction into a callback is not feasible (which is the case for some of the older APIs inside Tapestry IoC).

  Specified by:
    `createProxyTransformation` in interface `PlasticProxyFactory`
  Parameters:
    `interfaceType` - class proxy will extend from
  Returns:
    transformation from which an instantiator may be created

### createProxy

    public <T> T createProxy(java.lang.Class<T> interfaceType,
                             ObjectCreator<T> creator,
                             java.lang.String description)

  Description copied from interface: `PlasticProxyFactory`
  Creates a proxy instance that delegates all methods through a corresponding ObjectCreator. Each method invocation on the proxy will route through `ObjectCreator.createObject()` (the creator implementation may decide to cache the return value as appropriate).

  Specified by:
    `createProxy` in interface `PlasticProxyFactory`
  Type Parameters:
    `T` - type of proxy
  Parameters:
    `interfaceType` - interface class for proxy
    `creator` - object responsible for creating the real object
    `description` - the `toString()` of the proxy
  Returns:
    proxy instance

### getMethodLocation

    public Location getMethodLocation(java.lang.reflect.Method method)

  Description copied from interface: `PlasticProxyFactory`
  Converts a method to a `Location`, which includes information about the source file name and line number.

  Specified by:
    `getMethodLocation` in interface `PlasticProxyFactory`
  Parameters:
    `method` - to look up
  Returns:
    the location (identifying the method and possibly, the line number within the method)

### getConstructorLocation

    public Location getConstructorLocation(java.lang.reflect.Constructor constructor)

  Description copied from interface: `PlasticProxyFactory`
  Return a string representation for the constructor (including class and parameters) and (if available) file name and line number.

  Specified by:
    `getConstructorLocation` in interface `PlasticProxyFactory`
  Returns:
    the location (identifying the constructor and possibly, the line number within the method)

### clearCache

    public void clearCache()

  Description copied from interface: `PlasticProxyFactory`
  Clears any cached information stored by the proxy factory; this is useful in Tapestry development mode when a class loader may have been discarded (because the proxy factory may indirectly keep references to classes loaded by the old class loader).

  Specified by:
    `clearCache` in interface `PlasticProxyFactory`

### getMemberLocation

    public Location getMemberLocation(java.lang.reflect.Member member,
                                      java.lang.String methodName,
                                      java.lang.String memberTypeDesc,
                                      ObjectCreator<java.lang.String> textDescriptionCreator)

### addPlasticClassListener

    public void addPlasticClassListener(PlasticClassListener listener)

  Specified by:
    `addPlasticClassListener` in interface `PlasticClassListenerHub`

### removePlasticClassListener

    public void removePlasticClassListener(PlasticClassListener listener)

  Specified by:
    `removePlasticClassListener` in interface `PlasticClassListenerHub`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2012 The Apache Software Foundation.