4Signature Test Tool 2.0 User’s Guide April 2008
In source mode only,the normalized list of thrown exceptions, described
earlier,where order is insignificant
Fields:
Set of modifiers, except transient
Field type
Documented annotations with SOURCE and RUNTIME retention of the following
types:
Classes and interfaces
Fields, methods and constructors
Parameters and annotation types
The tool performs the check in the following order:
1. For all top-level public and protected classes and interfaces, it compares the
attributes of any classes and interfaces with the same fully qualified name.
2. Taking into account all declared and inherited members, it compares all public
and protected members of the same kind and same simple name, treating
constructors as class members for convenience sake.
Source and Binary Compatibility Modes
Earlier SigTesttool versions performed a comparison of all exceptions declared in
throws clauses for methods and constructors. Certain variations in this area caused
an error message during the signature test. Despite these errormessages, the source
files compiled successfully together.Successful compilation is the basic criteria for
sourcecompatibility with the the current SigTest tool, while successful linking as the
basic criteria for binary compatibility.
Changesto the throws clause of methods or constructors do not break compatibility
with existing binaries because these clauses are checked only at compile time,
causing no linkage error.For the purpose of signature testing, this relates directly to
binarycompatibility as described earlier in “Mutual Binary Compatibility Check�� on
page2 .
The adaptation of JSR 68, The Java™ ME Platform Specification, formalized the use of
building blocks in API development. A building block is a subset of an existing API
that is approved for reuse in the construction of profilesor optional packages. The
building block concept enables a developer to duplicate the functionality provided
by another API without having to redefine an entirely new API. For further details
see JSR 68 at
http://www.jcp.org/en/jsr/detail?id=68.