aQute.bnd.make.calltree
Class CalltreeResource

java.lang.Object
  extended by aQute.lib.osgi.WriteResource
      extended by aQute.bnd.make.calltree.CalltreeResource
All Implemented Interfaces:
Resource

public class CalltreeResource
extends WriteResource

Create an XML call tree of a set of classes. The structure of the XML is:

    calltree ::= <using> <usedby>
    using    ::= <method> *
    usedby   ::= <method> *
    method   ::= <ref> 
 
The using element contains methods in the set of classes and their references. The usedby element contains the used methods and their references to the set of classes. The ref element contains the class, the method name, the descriptor, and a pretty print version of the method. The XML does not contain an XML processor instruction to make it easier to include in other XML. The encoding is always UTF-8. This class can be used as a resource, just add it to a JAR and the data is generated when the resource is written (saving time when the JAR is up to date and does not have to be generated). However, the actual write method is a static method and can be called as well: writeCalltree(PrintWriter, Collection).


Constructor Summary
CalltreeResource(Collection<Clazz> values)
          Create a resource for inclusion that will print a call tree.
 
Method Summary
 long lastModified()
          We set the last modified to 0 so this resource does not force a new JAR if all other resources are up to date.
 void write(OutputStream out)
          The write method is called to write the resource.
static void writeCalltree(PrintWriter out, Collection<Clazz> classes)
          Print the call tree in XML.
 
Methods inherited from class aQute.lib.osgi.WriteResource
getExtra, openInputStream, setExtra
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CalltreeResource

public CalltreeResource(Collection<Clazz> values)
Create a resource for inclusion that will print a call tree.

Parameters:
values - the classes for which the call tree is generated.
Method Detail

lastModified

public long lastModified()
We set the last modified to 0 so this resource does not force a new JAR if all other resources are up to date.

Specified by:
lastModified in interface Resource
Specified by:
lastModified in class WriteResource

write

public void write(OutputStream out)
           throws Exception
The write method is called to write the resource. We just call the static method.

Specified by:
write in interface Resource
Specified by:
write in class WriteResource
Throws:
Exception

writeCalltree

public static void writeCalltree(PrintWriter out,
                                 Collection<Clazz> classes)
                          throws Exception
Print the call tree in XML.

Parameters:
out - The output writer
classes - The set of classes
Throws:
IOException - Any errors
Exception


Copyright © 2012 aQute SARL. All Rights Reserved.