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 void
appendJarFile(PrintWriter out, JarFile jarfile, boolean isBoot)
protected void
collectAffectedNames(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 toadd
to the boot classloader.Set<String>
getLoadedSystemJars()
Returns jars that this retransformer was asked toadd
to the system classloader.void
installScript(List<String> scriptTexts, List<String> scriptNames, PrintWriter out)
void
listScripts(PrintWriter out)
void
removeScripts(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 toadd
to 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 toadd
to 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
-
-