Package jdiff
Class API
- java.lang.Object
-
- jdiff.API
-
public class API extends java.lang.ObjectThe internal representation of an API. RootDoc could have been used for representing this, but you cannot serialize a RootDoc object - see http://developer.java.sun.com/developer/bugParade/bugs/4125581.html You might be able use Javadoc.Main() to create another RootDoc, but the methods are package private. You can run javadoc in J2SE1.4, see: http://java.sun.com/j2se/1.4/docs/tooldocs/javadoc/standard-doclet.html#runningprogrammatically but you still can't get the RootDoc object. The advantage of writing out an XML representation of each API is that later runs of JDiff don't have to have Javadoc scan all the files again, a possibly lengthy process. XML also permits other source code in languages other than Java to be scanned to produce XML, and then versions of JDiff can be used to create documents describing the difference in those APIs. See the file LICENSE.txt for copyright details.
-
-
Field Summary
Fields Modifier and Type Field Description java.util.Hashtableclasses_The list of all the classes.jdiff.ClassAPIcurrClass_The current class being added to during parsing.jdiff.ConstructorAPIcurrCtor_The current constructor being added to during parsing.jdiff.FieldAPIcurrField_The current field being added to during parsing.jdiff.MethodAPIcurrMethod_The current method being added to during parsing.jdiff.PackageAPIcurrPkg_The current package being added to during parsing.static intindentIncAmount by which to increment each indentation.java.lang.Stringname_The String which identifies this API, e.g.java.util.Listpackages_The list of all the top-level packages.
-
Constructor Summary
Constructors Constructor Description API()Default constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.StringconvertHTMLTagsToXHTML(java.lang.String htmlText)NOT USED.voiddump()Display the contents of the API object.static voiddumpClass(jdiff.ClassAPI c, int indent)Display the contents of a ClassAPI object.static voiddumpCtor(jdiff.ConstructorAPI c, int indent)Display the contents of a constructor.static voiddumpField(jdiff.FieldAPI f, int indent)Display the contents of a field.static voiddumpMethod(jdiff.MethodAPI m, int indent)Display the contents of a MethodAPI object.static voiddumpModifiers(jdiff.Modifiers m, int indent)Display the contents of the Modifiers object.voiddumpPackage(jdiff.PackageAPI pkg, int indent)Display the contents of a PackageAPI object.static voiddumpParam(jdiff.ParamAPI p, int indent)Display the contents of a parameter.static java.lang.StringhideHTMLTags(java.lang.String htmlText)Convert all HTML tags to text by stuffing text into the HTML tag to stop it being an HTML or XML tag.static java.lang.StringshowHTMLTags(java.lang.String text)Convert text with stuffed HTML tags ("lEsS_tHaN", etc) into HTML text.static java.lang.StringstuffHTMLTags(java.lang.String htmlText)Convert all HTML tags to text by placing them inside a CDATA element.
-
-
-
Field Detail
-
packages_
public java.util.List packages_
The list of all the top-level packages. Each package contains classes, each class contains members, and so on.
-
classes_
public java.util.Hashtable classes_
The list of all the classes. This is used to generate the methods and fields which are inherited, rather than storing them in the XML file.
-
name_
public java.lang.String name_
The String which identifies this API, e.g. "SuperProduct 1.3".
-
currPkg_
public jdiff.PackageAPI currPkg_
The current package being added to during parsing.
-
currClass_
public jdiff.ClassAPI currClass_
The current class being added to during parsing.
-
currCtor_
public jdiff.ConstructorAPI currCtor_
The current constructor being added to during parsing.
-
currMethod_
public jdiff.MethodAPI currMethod_
The current method being added to during parsing.
-
currField_
public jdiff.FieldAPI currField_
The current field being added to during parsing.
-
indentInc
public static final int indentInc
Amount by which to increment each indentation.- See Also:
- Constant Field Values
-
-
Method Detail
-
dump
public void dump()
Display the contents of the API object.
-
dumpPackage
public void dumpPackage(jdiff.PackageAPI pkg, int indent)Display the contents of a PackageAPI object.- Parameters:
pkg- The given PackageAPI object.indent- The number of spaces to indent the output.
-
dumpClass
public static void dumpClass(jdiff.ClassAPI c, int indent)Display the contents of a ClassAPI object.- Parameters:
c- The given ClassAPI object.indent- The number of spaces to indent the output.
-
dumpModifiers
public static void dumpModifiers(jdiff.Modifiers m, int indent)Display the contents of the Modifiers object.- Parameters:
c- The given Modifiers object.indent- The number of spaces to indent the output.
-
dumpCtor
public static void dumpCtor(jdiff.ConstructorAPI c, int indent)Display the contents of a constructor.- Parameters:
c- The given constructor object.indent- The number of spaces to indent the output.
-
dumpMethod
public static void dumpMethod(jdiff.MethodAPI m, int indent)Display the contents of a MethodAPI object.- Parameters:
m- The given MethodAPI object.indent- The number of spaces to indent the output.
-
dumpField
public static void dumpField(jdiff.FieldAPI f, int indent)Display the contents of a field. Does not show inherited fields.- Parameters:
f- The given field object.indent- The number of spaces to indent the output.
-
dumpParam
public static void dumpParam(jdiff.ParamAPI p, int indent)Display the contents of a parameter.- Parameters:
p- The given parameter object.indent- The number of spaces to indent the output.
-
stuffHTMLTags
public static java.lang.String stuffHTMLTags(java.lang.String htmlText)
Convert all HTML tags to text by placing them inside a CDATA element. Characters still have to be valid Unicode characters as defined by the parser.
-
hideHTMLTags
public static java.lang.String hideHTMLTags(java.lang.String htmlText)
Convert all HTML tags to text by stuffing text into the HTML tag to stop it being an HTML or XML tag. E.g. "foo" becomes "lEsS_tHaNcode>foolEsS_tHaN/code>". Replace all < characters with the string "lEsS_tHaN". Also replace & character with the string "aNd_cHaR" to avoid text entities. Also replace " character with the string "qUoTe_cHaR".
-
showHTMLTags
public static java.lang.String showHTMLTags(java.lang.String text)
Convert text with stuffed HTML tags ("lEsS_tHaN", etc) into HTML text.
-
convertHTMLTagsToXHTML
public static java.lang.String convertHTMLTagsToXHTML(java.lang.String htmlText)
NOT USED. Replace all instances ofwith
. Just for the small number of HMTL tags which don't require a matching end tag. Also make HTML conform to the simple HTML requirements such as no double hyphens. Double hyphens are replaced by - and the character entity for a hyphen. Cases where this fails and has to be corrected in the XML by hand: Attributes' values missing their double quotes , e.g. size=-2 Mangled HTML tags e.g. <ttt>NOT USED. There is often too much bad HTML in doc blocks to try to handle every case correctly. Better just to stuff the *lt; and &: characters with stuffHTMLTags(). Though the resulting XML is not as elegant, it does the job with less intervention by the user.
-
-