leodbc.javaagent.instrumentor
Class DbcClassFileTransformer

java.lang.Object
  extended by leodbc.javaagent.instrumentor.DbcClassFileTransformer
All Implemented Interfaces:
java.lang.instrument.ClassFileTransformer

public class DbcClassFileTransformer
extends java.lang.Object
implements java.lang.instrument.ClassFileTransformer

Trasformatore dei file class secondo le specifiche del DBC

Author:
Leonardo Cecchi

Constructor Summary
DbcClassFileTransformer()
          Inizializzazione del trasformatore
 
Method Summary
 java.util.List<javassist.CtClass> getSuperClasses(javassist.CtClass clazz)
          Ritorna una lista contenente le superclassi della classe passata e la classe passata in ordine dalla superclasse verso la sottoclasse
 byte[] instrumentByteCode(javassist.CtClass clazz)
          Modifica un bytecode per aderire ai contratti
 byte[] transform(java.lang.ClassLoader loader, java.lang.String className, java.lang.Class<?> classBeingRedefined, java.security.ProtectionDomain protectionDomain, byte[] classfileBuffer)
          Trasformazione di una singola classe
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DbcClassFileTransformer

public DbcClassFileTransformer()
Inizializzazione del trasformatore

Method Detail

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.instrument.IllegalClassFormatException
Trasformazione di una singola classe

Specified by:
transform in interface java.lang.instrument.ClassFileTransformer
Throws:
java.lang.instrument.IllegalClassFormatException

getSuperClasses

public java.util.List<javassist.CtClass> getSuperClasses(javassist.CtClass clazz)
                                                  throws javassist.NotFoundException
Ritorna una lista contenente le superclassi della classe passata e la classe passata in ordine dalla superclasse verso la sottoclasse

Parameters:
clazz - Classe
Returns:
Come sopra
Throws:
javassist.NotFoundException

instrumentByteCode

public byte[] instrumentByteCode(javassist.CtClass clazz)
Modifica un bytecode per aderire ai contratti

Parameters:
clazz - CtClass da modificare
Returns:
Bytecode modificato oppure null se tutto rimane uguale