org.springframework.instrument.classloading.oc4j
Class OC4JClassPreprocessorAdapter

java.lang.Object
  extended by org.springframework.instrument.classloading.oc4j.OC4JClassPreprocessorAdapter
All Implemented Interfaces:
java.lang.reflect.InvocationHandler

 class OC4JClassPreprocessorAdapter
extends java.lang.Object
implements java.lang.reflect.InvocationHandler

Adapter that implements OC4J ClassPreProcessor interface, delegating to a standard JDK ClassFileTransformer underneath.

To avoid compile time checks again the vendor API, a dynamic proxy is being used.

Author:
Costin Leau

Field Summary
private  java.lang.instrument.ClassFileTransformer transformer
           
 
Constructor Summary
OC4JClassPreprocessorAdapter(java.lang.instrument.ClassFileTransformer transformer)
          Creates a new OC4JClassPreprocessorAdapter.
 
Method Summary
 java.lang.Object initialize(java.lang.Object proxy, java.lang.ClassLoader loader)
           
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
           
 byte[] processClass(java.lang.String className, byte[] origClassBytes, int offset, int length, java.security.ProtectionDomain pd, java.lang.ClassLoader loader)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

transformer

private final java.lang.instrument.ClassFileTransformer transformer
Constructor Detail

OC4JClassPreprocessorAdapter

public OC4JClassPreprocessorAdapter(java.lang.instrument.ClassFileTransformer transformer)
Creates a new OC4JClassPreprocessorAdapter.

Parameters:
transformer - the ClassFileTransformer to be adapted (must not be null)
Method Detail

invoke

public java.lang.Object invoke(java.lang.Object proxy,
                               java.lang.reflect.Method method,
                               java.lang.Object[] args)
                        throws java.lang.Throwable
Specified by:
invoke in interface java.lang.reflect.InvocationHandler
Throws:
java.lang.Throwable

initialize

public java.lang.Object initialize(java.lang.Object proxy,
                                   java.lang.ClassLoader loader)

processClass

public byte[] processClass(java.lang.String className,
                           byte[] origClassBytes,
                           int offset,
                           int length,
                           java.security.ProtectionDomain pd,
                           java.lang.ClassLoader loader)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object