Package aQute.bnd.make.calltree
Class CalltreeResource
- java.lang.Object
-
- aQute.bnd.osgi.WriteResource
-
- aQute.bnd.make.calltree.CalltreeResource
-
- All Implemented Interfaces:
Resource
,java.io.Closeable
,java.lang.AutoCloseable
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>
Theusing
element contains methods in the set of classes and their references. Theusedby
element contains the used methods and their references to the set of classes. Theref
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
Constructors Constructor Description CalltreeResource(java.util.Collection<Clazz> values)
Create a resource for inclusion that will print a call tree.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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(java.io.OutputStream out)
The write method is called to write the resource.static void
writeCalltree(java.io.PrintWriter out, java.util.Collection<Clazz> classes)
Print the call tree in XML.-
Methods inherited from class aQute.bnd.osgi.WriteResource
buffer, close, getExtra, openInputStream, setExtra, size
-
-
-
-
Constructor Detail
-
CalltreeResource
public CalltreeResource(java.util.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 interfaceResource
- Specified by:
lastModified
in classWriteResource
-
write
public void write(java.io.OutputStream out) throws java.lang.Exception
The write method is called to write the resource. We just call the static method.- Specified by:
write
in interfaceResource
- Specified by:
write
in classWriteResource
- Throws:
java.lang.Exception
-
writeCalltree
public static void writeCalltree(java.io.PrintWriter out, java.util.Collection<Clazz> classes) throws java.lang.Exception
Print the call tree in XML.- Parameters:
out
- The output writerclasses
- The set of classes- Throws:
java.lang.Exception
- Any errors
-
-