Format of Java Class and Method Identifiers
Generally JTombstone follows the conventions that are used to print out methods in stack traces. This is likewise similar to the conventions specified in the Java VM Spec.for naming and method descriptors.
Class Names
JTombstone represents Java classes approximately as they are represented in Java code - a series of package names separated by periods with the class name at the end. The major difference is that for clarity, JTombstone specifies, (and expects on input) the default package to be (default) So a class MyClass in without a package statement would be identified as (default).MyClass.
Note that both JTombstone, and stack traces represent inner class names slightly differently than does code. While inner class IC in class C in package mypackage would be refered to as mypackage.C.IC, in stack traces it would show up as mypackage.C$IC, and that is the format that JTombstone expects.
Method Identifiers
In order to uniquely identify an overloaded method, its arguments must be specified. JTombstone uses the same format as stack traces to represent these arguments - EXCEPT that < is replaced by (, and > is replaced by ). The angle brackets are replaced to simplify XML input.This is a fairly simple convention - a few examples may clarify. In this notation the String constructor
String(byte[] bytes, int offset, int count)
is represented
java.lang.String.(init)([BII)V
The [ indicates an array and the final V indicates the void return value.
The String function
String[] split(String regex, int limit)
is represented as
java.lang.String.split(Ljava.lang.String;I)[Ljava.lang.String;