You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by si...@apache.org on 2010/12/24 21:18:53 UTC

svn commit: r1052580 [2/5] - in /incubator/river/site/trunk/content/river/doc/api/com/sun/jini/tool: ./ class-use/ classdepend/ envcheck/

Added: incubator/river/site/trunk/content/river/doc/api/com/sun/jini/tool/ClassDep.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/com/sun/jini/tool/ClassDep.html?rev=1052580&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/com/sun/jini/tool/ClassDep.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/com/sun/jini/tool/ClassDep.html Fri Dec 24 20:18:52 2010
@@ -0,0 +1,1226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_15) on Mon Mar 08 17:46:09 EST 2010 -->
+<TITLE>
+ClassDep (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.sun.jini.tool.ClassDep class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ClassDep (Apache River v2.1.2-SNAPSHOT API Documentation)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ClassDep.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/sun/jini/tool/CheckSer.html" title="class in com.sun.jini.tool"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/sun/jini/tool/ClassServer.html" title="class in com.sun.jini.tool"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/sun/jini/tool/ClassDep.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ClassDep.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.sun.jini.tool</FONT>
+<BR>
+Class ClassDep</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.sun.jini.tool.ClassDep</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ClassDep</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Tool used to analyze a set of classes and determine on what other classes
+ they directly or indirectly depend. Typically this tool is used to
+ compute the necessary and sufficient set of classes to include in a JAR
+ file, for use in the class path of a client or service, or for use in the
+ codebase of a client or service. The tool starts with a set of "root"
+ classes and recursively computes a dependency graph, finding all of the
+ classes referenced directly by the root classes, finding all of the
+ classes referenced in turn by those classes, and so on, until no new
+ classes are found or until classes that are not of interest are
+ found. The normal output of the tool is a list of all of the classes in
+ the dependency graph. The output from this command can be used as input
+ to the <code>jar</code> tool, to create a JAR file containing precisely
+ those classes.
+ <p>
+ The following items are discussed below:
+ <ul>
+ <li><a href="#running">Running the Tool</a>
+ <li><a href="#processing">Processing Options</a>
+ <li><a href="#output">Output Options and Arguments</a>
+ <li><a href="#examples">Examples</a>
+ </ul>
+
+ <a name="running"></a>
+ <h3>Running the Tool</h3>
+
+ The command line for running the tool has the form:
+ <blockquote><pre>
+ java -jar <var><b>install_dir</b></var>/lib/classdep.jar \
+      -cp <var><b>input_classpath</b></var> <var><b>processing_options</b></var> <var><b>output_options</b></var>
+ </pre></blockquote>
+ <p>
+ where <var><b>install_dir</b></var> is the directory where the Apache River release
+ is installed.
+ Note that the options for this tool can be specified in any order, and
+ can be intermixed.
+
+ <p>
+ The <code>-cp</code> class path value,
+ <var><b>input_classpath</b></var>,
+ is an argument to the <code>ClassDep</code> tool itself and should
+ include all of the classes that might need to be included in the
+ dependency analysis. Typically this will include all of your application
+ classes, classes from the Apache River release, and any other classes on which
+ your classes might depend. It is safe to include more classes than are
+ actually necessary (since the purpose of this tool is, after all, to
+ determine which subset of these classes is actually necessary), but it is
+ not necessary to include any classes that are part of the Java 2 SDK.
+ The class path should be in the form of a list of directories or JAR
+ files, delimited by a colon (":") on UNIX platforms and a semi-colon
+ (";") on Microsoft Windows platforms. The order of locations in the path
+ does not matter. If you use JAR files, any <code>Class-Path</code>
+ manifest entries in those JAR files are ignored, so you must include the
+ values of those manifest entries explicitly in the path, or errors may
+ result. For example, if you include <code>jini-ext.jar</code> then you
+ should explicitly include <code>jini-core.jar</code> as well, because
+ <code>jini-core.jar</code> is in the <code>Class-Path</code> manifest
+ entry of <code>jini-ext.jar</code>.</dd>
+
+ <a name="processing"></a>
+ <h3>Processing Options</h3>
+
+ The root classes of the dependency graph can be specified by any
+ combination of individual classes and directories of classes. Each of
+ these options can be used any number of times, and are illustrated in the
+ <a href="#examples">Examples</a> section of this page.
+ <p>
+ In general, you only need to specify concrete classes as roots, not
+ interface types. When analyzing classes for the class path of an
+ application, you typically need to include the top-level class (the one
+ with the <code>main</code> method). When analyzing classes for the
+ codebase of a service, you typically need to include the top-level proxy
+ classes used by the service, any trust verifier classes for those
+ proxies, and any custom entry classes used by the service for lookup
+ service attributes. Also when analyzing classes for the codebase of a
+ service, if the service's proxy can return leases, registration objects,
+ or other proxies, or if your service generates events, and if those
+ objects are only referenced by interface type in the top-level proxy, not
+ by concrete class, then you also need to include the concrete classes of
+ those other objects. In all cases, you typically need to include any stub
+ classes that you generated with the <code>rmic</code> tool.
+ <p>
+ <dl>
+ <dt><b><var>class</var></b>
+ <dd>This option specifies the fully qualified name of an individual class
+ to include as a root of the dependency graph. This option can be
+ specified zero or more times. Each class you specify with this option
+ needs to be in a package that is defined to be "inside" the graph (as
+ described further below).</dd>
+ <p>
+ <dt><b><var>directory</var></b>
+ <dd>This option specifies the root directory of a tree of compiled class
+ files, all of which are to be included as roots of the dependency
+ graph. This option can be specified zero or more times. The directory
+ must be one of the directories specified in
+ <var><b>input_classpath</b></var>,
+ or a subdirectory of one, and must contain at least one filename
+ separator character. Each class in the tree needs to be in a package that
+ is defined to be "inside" the graph (as described further below).
+ <p>
+ <dt><b><var>directory</var></b>
+ <dd>This option specifies the root directory of a tree of compiled class
+ files that are considered as root for the dependency checking. This option
+ can be specified zero or more times. The actual behavior depends on whether
+ the <code>-newdirbehavior</code> options is specified. The directory must
+ contain at least one filename separator character and be one of the
+ directories specified in <var><b>input_classpath</b></var>, or when the old
+ behavior is effective it can be a subdirectory of one of the directories on
+ the <var><b>input_classpath</b></var>. Each class in the tree needs to be in
+ a package that is defined to be "inside" the graph (as described further
+ below).
+ <p>
+ When the <code>-newdirbehavior</code> options is set the <code>-inroot</code>
+ and <code>-outroot</code> options can be used to include/exclude particular
+ subtrees from the potential set of roots. When the old behavior is effective
+ all classes are considered as root, but can be excluded through the
+ <code>-prune</code> option.
+ <p>
+ <dl>
+ <dt><b><code>-inroot</code> <var>package-prefix</var></b> (only valid with
+ <code>-newdirbehavior</code>)
+ <dd>Specifies a package namespace to include when selecting roots from the
+ directory trees. Any classes found in this package or a subpackage of it are
+ considered as root for the dependency checking, unless they are explicitly
+ excluded using <code>-out</code>, <code>-skip</code> or <code>-outroot</code>
+ options. If not specified all found classes are considered roots. This option
+ can be specified zero or more times. Note that the argument to
+ <code>-inroot</code> is a package namespace (delimited by "."), not a
+ directory.</dd>
+ </dl>
+ <p>
+ <dl>
+ <dt><b><code>-outroot</code> <var>package-prefix</var></b> (only valid with
+ <code>-newdirbehavior</code>)
+ <dd>Specifies a package namespace to exclude when selecting roots from the
+ directory trees. Within the directory trees as specified by the
+ <code>rootdir</code> element, any classes that are in the given package or a
+ subpackage of it are not treated as roots. This option can be specified zero
+ or more times. Note that the argument to <code>-outroot</code> is a package
+ namespace (delimited by "."), not a directory.</dd>
+ </dl>
+ <p>
+ <dl>
+ <dt><b><code>-prune</code> <var>package-prefix</var></b> (old behavior only)
+ <dd>Specifies a package namespace to exclude when selecting roots from
+ directory trees. Within the directory trees, any classes that are in the
+ given package or a subpackage of it are not treated as roots. Note that
+ this option has <i>no</i> effect on whether the classes in question end
+ up "inside" or "outside" the dependency graph (as defined further below);
+ it simply controls their use as roots. This option can be specified zero
+ or more times. Note that the argument to <code>-prune</code> is a package
+ namespace (delimited by "."), not a directory.</dd>
+ </dl>
+ <p>
+ The <code>-skip</code> option (described further below) can be used to
+ exclude specific classes from the set of roots.
+ </dd>
+ </dl>
+ <p>
+ Starting with the root classes, a dependency graph is constructed by
+ examining the compiled class file for a class, finding all of the classes
+ it references, and then in turn examining those classes.  The extent of
+ the graph is determined by which packages are defined to be "inside" the
+ graph and which are defined to be "outside" the graph.  If a referenced
+ class is in a package that is defined to be outside the graph, that class
+ is not included in the graph, and none of classes that it references are
+ examined. All of the root classes must be in packages that are defined to
+ be "inside" the graph.
+ <p>
+ The inside and outside packages are specified by using the following
+ options. Each of these options may be specified zero or more times.  Some
+ variations are illustrated in the <a href="#examples">Examples</a> section
+ of this page.
+ <p>
+ <dl>
+ <dt><b><code>-in</code> <var>package-prefix</var></b>
+ <dd>Specifies a namespace of "inside" packages. Any classes in this
+ package or a subpackage of it are included in the dependency graph (and
+ hence are to be included in your JAR file), unless they are explicitly
+ excluded using <code>-out</code> or <code>-skip</code> options. This
+ option can be specified zero or more times. If no <code>-in</code>
+ options are specified, the default is that all packages are considered to
+ be inside packages.  Note that the argument to <code>-in</code> is a
+ namespace, so none of its subpackages need to be specified as an argument
+ to <code>-in</code>.
+ <p>
+ If you use this option, you will likely need to use it multiple
+ times. For example, if your application classes are in the
+ <code>com.corp.foo</code> namespace, and you also use some classes in the
+ <code>com.sun.jini</code> and <code>net.jini</code> namespaces, then you
+ might specify:
+ <pre>-in com.corp.foo -in com.sun.jini -in net.jini</pre>
+ </dd>
+ <p>
+ <dt><b><code>-out</code> <var>package-prefix</var></b>
+ <dd>Specifies a namespace of "outside" packages. Any classes in this
+ package or a subpackage of it are excluded from the dependency graph (and
+ hence are to be excluded from your JAR file). This option can be
+ specified zero or more times.  If you specify <code>-in</code> options,
+ then each <code>-out</code> namespace should be a subspace of some
+ <code>-in</code> namespace. Note that the argument to <code>-out</code>
+ is a namespace, so none of its subpackages need to be specified as an
+ argument to <code>-out</code>.
+ <p>
+ If you use this option, you will likely need to use it multiple
+ times. For example, if you do not specify any <code>-in</code> options,
+ then all packages are considered inside the graph, including packages
+ defined in the Java 2 SDK that you typically want to exclude, so you
+ might exclude them by specifying:
+ <pre>-out java -out javax</pre>
+ As another example, if you have specified <code>-in com.corp.foo</code>
+ but you don't want to include any of the classes in the
+ <code>com.corp.foo.test</code> or <code>com.corp.foo.qa</code> namespaces
+ in the dependency graph, then you would specify:
+ <pre>-out com.corp.foo.test -out com.corp.foo.qa</pre>
+ </dd>
+ <p>
+ <dt><b><code>-skip</code> <var>class</var></b>
+ <dd>Specifies the fully qualified name of a specific class to exclude
+ from the dependency graph. This option allows an individual class to be
+ considered "outside" without requiring the entire package it is defined
+ in to be considered outside.  This option can be specified zero or more
+ times.
+ </dd> 
+ <p>
+ <dt><b><code>-outer</code></b>
+ <dd>By default, if a static nested class is included in the dependency
+ graph, all references from that static nested class to its immediate
+ lexically enclosing class are ignored (except when the static nested class
+ extends its outer class), to avoid inadvertent inclusion of the enclosing
+ class. (The default is chosen this way because the compiled class file of a
+ static nested class always contains a reference to the immediate lexically
+ enclosing class.) This option causes all such references to be considered
+ rather than ignored.  Note that this option is needed very infrequently.</dd>
+ </dl>
+ <p>
+ <dt><b><code>-newdirbehavior</code></b>
+ <dd>This option causes the utility to select classes, to serve as root for
+ the dependency checking, from the directory argument based on the
+ <code>-inroot</code> and <code>-outroot</code> options specified. When
+ this option is set subdirectories of the specified directory are no longer
+ considered as root for finding classes. When this option is not set, the
+ default, the utility maintains the old behavior with respect to the semantics
+ for the directories passed in and the <code>-prune</code> option must be
+ used. You are advised to set this option as there are some edge cases for
+ which the old behavior won't work as expected, especially when no
+ <code>-in</code> options are set.</dd>
+ </dl>
+
+ <a name="output"></a>
+ <h3>Output Options and Arguments</h3>
+ 
+ The following options and arguments determine the content and format of
+ the output produced by this tool. These options do not affect the
+ dependency graph computation, only the information displayed in the
+ output as a result of the computation. Most of these options may be
+ specified multiple times. Some variations are illustrated in the
+ <a href="#examples">Examples</a> section of this page.
+ <dl>
+ <dt><b><code>-edges</code></b>
+ <dd>By default, the classes which are included in the dependency graph
+ are displayed in the output. This option specifies that instead, the
+ classes which are excluded from the dependency graph, but which are
+ directly referenced by classes in the dependency graph, should be
+ displayed in the output. These classes form the outside "edges" of the
+ dependency graph.
+ <p>
+ For example, you might exclude classes from the Java 2 SDK from the
+ dependency graph because you don't want to include them in your JAR file,
+ but you might be interested in knowing which classes from the Java 2 SDK
+ are referenced directly by the classes in your JAR file. The
+ <code>-edges</code> option can be used to display this information.
+ </dd>
+ <p>
+ <dt><b><code>-show</code> <var>package-prefix</var></b>
+ <dd>Displays the classes that are in the specified package or a
+ subpackage of it. This option can be specified zero or more times. If no
+ <code>-show</code> options are specified, the default is that all classes
+ in the dependency graph are displayed (or all edge classes, if
+ <code>-edges</code> is specified). Note that the argument to
+ <code>-show</code> is a namespace, so none of its subpackages need to be
+ specified as an argument to <code>-show</code>.
+ <p>
+ For example, to determine which classes from the Java 2 SDK your
+ application depends on, you might not specify any <code>-in</code>
+ options, but limit the output by specifying:
+ <pre>-show java -show javax</pre></dd>
+ <p>
+ <dt><b><code>-hide</code> <var>package-prefix</var></b>
+ <dd>Specifies a namespace of packages which should not be displayed. Any
+ classes in this package or a subpackage of it are excluded from the
+ output. This option can be specified zero or more times. If you specify
+ <code>-show</code> options, then each <code>-hide</code> namespace should
+ be a subspace of some <code>-show</code> namespace. Note that the
+ argument to <code>-hide</code> is a namespace, so none of its subpackages
+ need to be specified as an argument to <code>-hide</code>.
+ <p>
+ For example, to determine which non-core classes from the
+ <code>net.jini</code> namespace you use, you might specify:
+ <pre>-show net.jini -hide net.jini.core</pre></dd>
+ <p>
+ <dt><b><code>-files</code></b>
+ <dd>By default, fully qualified class names are displayed, with package
+ names delimited by ".". This option causes the output to be in filename
+ format instead, with package names delimited by filename separators and
+ with ".class" appended. For example, using this option on Microsoft
+ Windows platforms would produce output in the form of
+ <code>com\corp\foo\Bar.class</code> instead of
+ <code>com.corp.foo.Bar</code>. This option should be used to generate
+ output suitable as input to the <code>jar</code> tool.
+ <p>
+ For more information on the <code>jar</code> tool, see:
+ <ul>
+ <li><a href="http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/jar.html">
+ http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/jar.html</a>
+ <li><a href="http://java.sun.com/j2se/1.4/docs/tooldocs/windows/jar.html">
+ http://java.sun.com/j2se/1.4/docs/tooldocs/windows/jar.html</a>
+ <li><a href="http://java.sun.com/j2se/1.4/docs/guide/jar/jar.html">
+ http://java.sun.com/j2se/1.4/docs/guide/jar/jar.html</a>
+ </ul>
+ </dd>
+ <p>
+ <dt><b><code>-tell</code> <var>class</var></b>
+ <dd>Specifies the fully qualified name of a class for which dependency
+ information is desired. This option causes the tool to display
+ information about every class in the dependency graph that references the
+ specified class. This information is sent to the error stream of the
+ tool, not to the normal output stream.  This option can be specified zero
+ or more times. If this option is used, all other output options are
+ ignored, and the normal class output is not produced. This option is
+ useful for debugging.
+ </dd>
+ </dl>
+ 
+ <a name="examples"></a>
+ <h3>Examples</h3>
+
+ (The examples in this section assume you ran the Apache River release installer
+ with an "Install Set" selection that created the top-level
+ <code>classes</code> directory. Alternatively, if you have compiled from
+ the source code, substitute <code>source/classes</code> for
+ <code>classes</code> in the examples.)
+ <p>
+ The following example computes the classes required for a codebase JAR
+ file, starting with a smart proxy class and a stub class as roots, and
+ displays them in filename format. (A more complete example would include
+ additional roots for leases, registrations, events, and lookup service
+ attributes, and would exclude platform classes such as those in
+ <code>jsk-platform.jar</code>.)
+ <p>
+ <blockquote><pre>
+ java -jar <var><b>install_dir</b></var>/lib/classdep.jar \
+      -cp <var><b>install_dir</b></var>/classes \
+      com.sun.jini.reggie.RegistrarProxy com.sun.jini.reggie.RegistrarImpl_Stub \
+      -in com.sun.jini -in net.jini \
+      -files
+ </pre></blockquote>
+ <p>
+ The following example computes the classes required for a classpath JAR
+ file, starting with all of the classes in a directory as roots, and
+ displays them in class name format. (A more complete example would exclude
+ platform classes such as those in <code>jsk-platform.jar</code>.)
+ <p>
+ <blockquote><pre>
+ java -jar <var><b>install_dir</b></var>/lib/classdep.jar \
+      -cp <var><b>install_dir</b></var>/classes \
+      <var><b>install_dir</b></var>/classes/com/sun/jini/reggie \
+      -in com.sun.jini -in net.jini
+ </pre></blockquote>
+ <p>
+ The following example computes the <code>com.sun.jini</code> classes used
+ by a service implementation, and displays the <code>net.jini</code>
+ classes that are immediately referenced by those classes.
+ <p>
+ <blockquote><pre>
+ java -jar <var><b>install_dir</b></var>/lib/classdep.jar \
+      -cp <var><b>install_dir</b></var>/classes \
+      com.sun.jini.reggie.RegistrarImpl \
+      -in com.sun.jini \
+      -edges \
+      -show net.jini
+ </pre></blockquote>
+ <p>
+ The following example computes all of the classes used by a service
+ implementation that are not part of the Java 2 SDK, and displays the
+ classes that directly reference the class <code>java.awt.Image</code>.
+ <p>
+ <blockquote><pre>
+ java -jar <var><b>install_dir</b></var>/lib/classdep.jar \
+      -cp <var><b>install_dir</b></var>/classes \
+      com.sun.jini.reggie.RegistrarImpl \
+      -out java -out javax \
+      -tell java.awt.Image
+ </pre></blockquote>
+ <p>
+ The following example computes all of the classes to include in
+ <code>jini-ext.jar</code> and displays them in filename format.  Note
+ that both <code>-out</code> and <code>-prune</code> options are needed
+ for the <code>net.jini.core</code> namespace; <code>-out</code> to
+ exclude classes from the dependency graph, and <code>-prune</code> to
+ prevent classes from being used as roots.
+ <p>
+ <blockquote><pre>
+ java -jar <var><b>install_dir</b></var>/lib/classdep.jar \
+      -cp <var><b>install_dir</b></var>/classes \
+      -in net.jini -out net.jini.core -in com.sun.jini \
+      <var><b>install_dir</b></var>/classes/net/jini -prune net.jini.core \
+      -files
+ </pre></blockquote>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Sun Microsystems, Inc.</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#ClassDep()">ClassDep</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No argument constructor.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#ClassDep(java.lang.String[])">ClassDep</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;cmdLine)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that takes command line arguments and fills in the
+ appropriate fields.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addClasses(java.lang.String)">addClasses</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry into the set of classes that
+ dependencies are going to be computed on.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addHides(java.lang.String)">addHides</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry into the set of package prefixes that
+ are to remain hidden from processing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addInside(java.lang.String)">addInside</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry into the working set of package prefixes 
+ that will make up the working domain space.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addInsideRoot(java.lang.String)">addInsideRoot</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds an entry into the set of package prefixes for which classes found
+ through the specified root directories will be considered for dependency
+ generation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addOutside(java.lang.String)">addOutside</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry into the set of package prefixes
+ that will bypassed during dependency checking.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addOutsideRoot(java.lang.String)">addOutsideRoot</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds an entry into the set of package prefixes for which classes found
+ through the specified root directories, and that are part of the inside
+ root namespace, will be skipped as part of the dependency generation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addPrune(java.lang.String)">addPrune</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry into the set of package prefixes
+ that will be skipped as part of the dependency
+ generation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addRoots(java.lang.String)">addRoots</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;rootName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry into the set of directories to
+ look under for the classes that fall within
+ the working domain space as defined by the
+ intersection of the following sets:
+ inside,outside,prune,show, and hide.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addShow(java.lang.String)">addShow</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry into the set of package prefixes
+ that we want to display.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addSkip(java.lang.String)">addSkip</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry into the set of classes that
+ should be skipped during dependency generation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#addTells(java.lang.String)">addTells</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an entry in to the set of classes whose dependents
+ that lie with the inside set are listed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#compute()">compute</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that takes the user provided switches that
+ logically define the domain in which to look for
+ dependencies.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#getFiles()">getFiles</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If true classnames will be separated using
+ File.separator, else it will use dots.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#getResults()">getResults</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Accessor method for the found dependencies.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#hasFailed()">hasFailed</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates whether computing the dependent classes as result of the last
+ call to <A HREF="../../../../com/sun/jini/tool/ClassDep.html#compute()"><CODE>compute()</CODE></A> resulted in one or more failures.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Command line interface for generating the list of classes that
+ a set of classes depends upon.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#setClassPath(java.lang.String)">setClassPath</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classpath)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the classpath to use for finding our class definitions.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#setEdges(boolean)">setEdges</A></B>(boolean&nbsp;edges)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines whether to include package references
+ that lie outside the declared set of interest.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#setFiles(boolean)">setFiles</A></B>(boolean&nbsp;files)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines how to print out the fully qualified
+ class names.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#setRootDirBehavior(boolean)">setRootDirBehavior</A></B>(boolean&nbsp;newBehavior)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls whether the behavior for finding class files in the specified
+ directories, if any, must be based on the old behavior (the default) or
+ the new behavior that solves some of the problems with the old behavior.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#setupOptions(java.lang.String[])">setupOptions</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method for initializing an instance with specific
+ command line arguments.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/sun/jini/tool/ClassDep.html#usage()">usage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print out the usage for this utility.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://
 java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ClassDep()"><!-- --></A><H3>
+ClassDep</H3>
+<PRE>
+public <B>ClassDep</B>()</PRE>
+<DL>
+<DD>No argument constructor. The user must fill in the
+ appropriate fields prior to asking for the processing
+ of dependencies.
+<P>
+</DL>
+<HR>
+
+<A NAME="ClassDep(java.lang.String[])"><!-- --></A><H3>
+ClassDep</H3>
+<PRE>
+public <B>ClassDep</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;cmdLine)</PRE>
+<DL>
+<DD>Constructor that takes command line arguments and fills in the
+ appropriate fields. See the description of this class
+ for a list and description of the acceptable arguments.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>cmdLine</CODE> - </DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="compute()"><!-- --></A><H3>
+compute</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] <B>compute</B>()</PRE>
+<DL>
+<DD>Method that takes the user provided switches that
+ logically define the domain in which to look for
+ dependencies.
+ <p>
+ Whether a failure has occurred during computing the dependent classes
+ can be found out with a call to <A HREF="../../../../com/sun/jini/tool/ClassDep.html#hasFailed()"><CODE>hasFailed()</CODE></A>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>array containing the dependent classes found in the format as
+ specified by the options passed in</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="usage()"><!-- --></A><H3>
+usage</H3>
+<PRE>
+public static void <B>usage</B>()</PRE>
+<DL>
+<DD>Print out the usage for this utility.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setClassPath(java.lang.String)"><!-- --></A><H3>
+setClassPath</H3>
+<PRE>
+public void <B>setClassPath</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;classpath)</PRE>
+<DL>
+<DD>Set the classpath to use for finding our class definitions.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classpath</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFiles(boolean)"><!-- --></A><H3>
+setFiles</H3>
+<PRE>
+public void <B>setFiles</B>(boolean&nbsp;files)</PRE>
+<DL>
+<DD>Determines how to print out the fully qualified
+ class names. If <code>true</code> it will use
+ <code>File.separator</code>, else <code>.</code>'s
+ will be used. 
+ If not set the default is <code>false</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>files</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addHides(java.lang.String)"><!-- --></A><H3>
+addHides</H3>
+<PRE>
+public void <B>addHides</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</PRE>
+<DL>
+<DD>Add an entry into the set of package prefixes that
+ are to remain hidden from processing.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>packagePrefix</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addInside(java.lang.String)"><!-- --></A><H3>
+addInside</H3>
+<PRE>
+public void <B>addInside</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</PRE>
+<DL>
+<DD>Add an entry into the working set of package prefixes 
+ that will make up the working domain space.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>packagePrefix</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEdges(boolean)"><!-- --></A><H3>
+setEdges</H3>
+<PRE>
+public void <B>setEdges</B>(boolean&nbsp;edges)</PRE>
+<DL>
+<DD>Determines whether to include package references
+ that lie outside the declared set of interest.
+ <p>
+ If true edges will be processed as well, else
+ they will be ignored. If not set the default
+ will be <code>false</code>.
+ <p>
+ <b>Note:</b> These edge classes must included
+ in the classpath for this utility.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>edges</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addOutside(java.lang.String)"><!-- --></A><H3>
+addOutside</H3>
+<PRE>
+public void <B>addOutside</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</PRE>
+<DL>
+<DD>Add an entry into the set of package prefixes
+ that will bypassed during dependency checking.
+ These entries should be subsets of the contents
+ on the inside set.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>packagePrefix</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addPrune(java.lang.String)"><!-- --></A><H3>
+addPrune</H3>
+<PRE>
+public void <B>addPrune</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</PRE>
+<DL>
+<DD>Add an entry into the set of package prefixes
+ that will be skipped as part of the dependency
+ generation.
+ <p>
+ This method has no impact if the new behavior is effective for the
+ interpretation of the root directories for finding class files to
+ include for dependency checking.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>packagePrefix</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRootDirBehavior(boolean)"><!-- --></A><H3>
+setRootDirBehavior</H3>
+<PRE>
+public void <B>setRootDirBehavior</B>(boolean&nbsp;newBehavior)</PRE>
+<DL>
+<DD>Controls whether the behavior for finding class files in the specified
+ directories, if any, must be based on the old behavior (the default) or
+ the new behavior that solves some of the problems with the old behavior.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newBehavior</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addInsideRoot(java.lang.String)"><!-- --></A><H3>
+addInsideRoot</H3>
+<PRE>
+public void <B>addInsideRoot</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</PRE>
+<DL>
+<DD>Adds an entry into the set of package prefixes for which classes found
+ through the specified root directories will be considered for dependency
+ generation.
+ <p>
+ Adding entries without a call to <A HREF="../../../../com/sun/jini/tool/ClassDep.html#setRootDirBehavior(boolean)"><CODE>setRootDirBehavior(boolean)</CODE></A>
+ with <code>true</code> as the argument will cause <A HREF="../../../../com/sun/jini/tool/ClassDep.html#compute()"><CODE>compute()</CODE></A> to
+ fail.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>packagePrefix</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addOutsideRoot(java.lang.String)"><!-- --></A><H3>
+addOutsideRoot</H3>
+<PRE>
+public void <B>addOutsideRoot</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</PRE>
+<DL>
+<DD>Adds an entry into the set of package prefixes for which classes found
+ through the specified root directories, and that are part of the inside
+ root namespace, will be skipped as part of the dependency generation.
+ <p>
+ Adding entries without a call to <A HREF="../../../../com/sun/jini/tool/ClassDep.html#setRootDirBehavior(boolean)"><CODE>setRootDirBehavior(boolean)</CODE></A>
+ with <code>true</code> as the argument will cause <A HREF="../../../../com/sun/jini/tool/ClassDep.html#compute()"><CODE>compute()</CODE></A> to
+ fail.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>packagePrefix</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addShow(java.lang.String)"><!-- --></A><H3>
+addShow</H3>
+<PRE>
+public void <B>addShow</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</PRE>
+<DL>
+<DD>Add an entry into the set of package prefixes
+ that we want to display.
+ This applies only to the final output, so this
+ set should be a subset of the inside set with
+ edges, if that was indicated.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>packagePrefix</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addSkip(java.lang.String)"><!-- --></A><H3>
+addSkip</H3>
+<PRE>
+public void <B>addSkip</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packagePrefix)</PRE>
+<DL>
+<DD>Add an entry into the set of classes that
+ should be skipped during dependency generation.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>packagePrefix</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addTells(java.lang.String)"><!-- --></A><H3>
+addTells</H3>
+<PRE>
+public void <B>addTells</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className)</PRE>
+<DL>
+<DD>Add an entry in to the set of classes whose dependents
+ that lie with the inside set are listed. This in
+ the converse of the rest of the utility and is meant
+ more for debugging purposes.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>className</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addRoots(java.lang.String)"><!-- --></A><H3>
+addRoots</H3>
+<PRE>
+public void <B>addRoots</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;rootName)</PRE>
+<DL>
+<DD>Add an entry into the set of directories to
+ look under for the classes that fall within
+ the working domain space as defined by the
+ intersection of the following sets:
+ inside,outside,prune,show, and hide.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>rootName</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addClasses(java.lang.String)"><!-- --></A><H3>
+addClasses</H3>
+<PRE>
+public void <B>addClasses</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;className)</PRE>
+<DL>
+<DD>Add an entry into the set of classes that
+ dependencies are going to be computed on.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>className</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFiles()"><!-- --></A><H3>
+getFiles</H3>
+<PRE>
+public boolean <B>getFiles</B>()</PRE>
+<DL>
+<DD>If true classnames will be separated using
+ File.separator, else it will use dots.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true or false</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResults()"><!-- --></A><H3>
+getResults</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] <B>getResults</B>()</PRE>
+<DL>
+<DD>Accessor method for the found dependencies.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>String[] dependencies</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasFailed()"><!-- --></A><H3>
+hasFailed</H3>
+<PRE>
+public boolean <B>hasFailed</B>()</PRE>
+<DL>
+<DD>Indicates whether computing the dependent classes as result of the last
+ call to <A HREF="../../../../com/sun/jini/tool/ClassDep.html#compute()"><CODE>compute()</CODE></A> resulted in one or more failures.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> in case a failure has happened, such as a
+ class not being found, <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setupOptions(java.lang.String[])"><!-- --></A><H3>
+setupOptions</H3>
+<PRE>
+public void <B>setupOptions</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;args)</PRE>
+<DL>
+<DD>Convenience method for initializing an instance with specific
+ command line arguments. See the description of this class
+ for a list and description of the acceptable arguments.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>args</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;args)</PRE>
+<DL>
+<DD>Command line interface for generating the list of classes that
+ a set of classes depends upon. See the description of this class
+ for a list and description of the acceptable arguments.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ClassDep.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/sun/jini/tool/CheckSer.html" title="class in com.sun.jini.tool"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/sun/jini/tool/ClassServer.html" title="class in com.sun.jini.tool"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/sun/jini/tool/ClassDep.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ClassDep.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright 2007, multiple authors.<br>Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="child" >Apache License, Version 2.0</a>, see the <a href="../../../../doc-files/NOTICE" target="child" >NOTICE</a> file for attributions.
+</BODY>
+</HTML>