org.springframework.instrument.classloading.jboss
Class JBossMCTranslatorAdapter

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

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

Adapter that implements JBoss Translator interface, delegating to a standard JDK ClassFileTransformer underneath.

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

Since:
3.1
Author:
Costin Leau

Field Summary
private  java.lang.instrument.ClassFileTransformer transformer
           
 
Constructor Summary
JBossMCTranslatorAdapter(java.lang.instrument.ClassFileTransformer transformer)
          Creates a new JBossMCTranslatorAdapter.
 
Method Summary
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
           
 java.lang.String toString()
           
 byte[] transform(java.lang.ClassLoader loader, java.lang.String className, java.lang.Class<?> classBeingRedefined, java.security.ProtectionDomain protectionDomain, byte[] classfileBuffer)
           
 void unregisterClassLoader(java.lang.ClassLoader loader)
           
 
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

JBossMCTranslatorAdapter

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

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

transform

public byte[] transform(java.lang.ClassLoader loader,
                        java.lang.String className,
                        java.lang.Class<?> classBeingRedefined,
                        java.security.ProtectionDomain protectionDomain,
                        byte[] classfileBuffer)
                 throws java.lang.Exception
Throws:
java.lang.Exception

unregisterClassLoader

public void unregisterClassLoader(java.lang.ClassLoader loader)

toString

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