Package org.jboss.byteman.agent
Class Retransformer
- java.lang.Object
-
- org.jboss.byteman.agent.Transformer
-
- org.jboss.byteman.agent.Retransformer
-
- All Implemented Interfaces:
ClassFileTransformer
public class Retransformer extends Transformer
byte code transformer used to introduce byteman events into JBoss code
-
-
Field Summary
-
Fields inherited from class org.jboss.byteman.agent.Transformer
ALLOW_CONFIG_UPDATE, BYTEMAN_PACKAGE_PREFIX, BYTEMAN_SAMPLE_PACKAGE_PREFIX, BYTEMAN_TEST_PACKAGE_PREFIX, checkerCache, COMPILE_TO_BYTECODE, COMPILE_TO_BYTECODE_COMPATIBILITY, DEBUG, DISALLOW_DOWNCAST, DUMP_CFG, DUMP_CFG_PARTIAL, DUMP_GENERATED_CLASSES, DUMP_GENERATED_CLASSES_DIR, DUMP_GENERATED_CLASSES_INTERMEDIATE, helperManager, inst, isRedefine, JAVA_LANG_PACKAGE_PREFIX, scriptRepository, SKIP_OVERRIDE_RULES, SYSPROPS_STRICT_MODE, TRANSFORM_ALL, TRANSFORM_ALL_COMPATIBILITY, VERBOSE, VERIFY_TRANSFORMED_BYTES
-
-
Constructor Summary
Constructors Constructor Description Retransformer(Instrumentation inst, ModuleSystem moduleSystem, List<String> scriptPaths, List<String> scriptTexts, boolean isRedefine)constructor allowing this transformer to be provided with access to the JVM's instrumentation implementation
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendJarFile(PrintWriter out, JarFile jarfile, boolean isBoot)protected voidcollectAffectedNames(List<RuleScript> ruleScripts, List<String> classList, List<String> interfaceList, List<String> superClassList, List<String> superInterfaceList)Set<String>getLoadedBootJars()Returns jars that this retransformer was asked toaddto the boot classloader.Set<String>getLoadedSystemJars()Returns jars that this retransformer was asked toaddto the system classloader.voidinstallScript(List<String> scriptTexts, List<String> scriptNames, PrintWriter out)voidlistScripts(PrintWriter out)voidremoveScripts(List<String> scriptTexts, PrintWriter out)-
Methods inherited from class org.jboss.byteman.agent.Transformer
allowConfigUpdate, computeDumpGeneratedClasses, computeDumpGeneratedClassesDir, computeDumpGeneratedClassesIntermediate, disableTriggers, disallowDowncast, dumpScript, enableTriggers, getClassChecker, getDumpGeneratedClassesDir, installBootScripts, installPolicy, isBlacklisted, isBytemanClass, isCompileToBytecode, isDebug, isDumpCFG, isDumpCFGPartial, isDumpGeneratedClasses, isDumpGeneratedClassesIntermediate, isSkipClass, isTransformable, isTriggeringEnabled, isVerbose, maybeDumpClass, maybeDumpClassIntermediate, skipOverrideRules, transform, transform, updateConfiguration
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.instrument.ClassFileTransformer
transform
-
-
-
-
Constructor Detail
-
Retransformer
public Retransformer(Instrumentation inst, ModuleSystem moduleSystem, List<String> scriptPaths, List<String> scriptTexts, boolean isRedefine) throws Exception
constructor allowing this transformer to be provided with access to the JVM's instrumentation implementation- Parameters:
inst- the instrumentation object used to interface to the JVMmoduleSystem- the module system to use for helper and class loadingscriptPaths- list of file paths for each input scriptscriptTexts- the text of each input scriptisRedefine- true if class redefinition is allowed false if not- Throws:
Exception- if a script is in error
-
-
Method Detail
-
installScript
public void installScript(List<String> scriptTexts, List<String> scriptNames, PrintWriter out) throws Exception
- Throws:
Exception
-
collectAffectedNames
protected void collectAffectedNames(List<RuleScript> ruleScripts, List<String> classList, List<String> interfaceList, List<String> superClassList, List<String> superInterfaceList)
-
listScripts
public void listScripts(PrintWriter out) throws Exception
- Throws:
Exception
-
removeScripts
public void removeScripts(List<String> scriptTexts, PrintWriter out) throws Exception
- Throws:
Exception
-
appendJarFile
public void appendJarFile(PrintWriter out, JarFile jarfile, boolean isBoot) throws Exception
- Throws:
Exception
-
getLoadedBootJars
public Set<String> getLoadedBootJars()
Returns jars that this retransformer was asked toaddto the boot classloader. Note that the returned set will not include those jars that were added to the instrumentor object at startup via the -javaagent command line argument.- Returns:
- set of jar pathnames for all jars loaded in the boot classloader
-
getLoadedSystemJars
public Set<String> getLoadedSystemJars()
Returns jars that this retransformer was asked toaddto the system classloader. Note that the returned set will not include those jars that were added to the instrumentor object at startup via the -javaagent command line argument.- Returns:
- set of jar pathnames for all jars loaded in the system classloader
-
-