<!DOCTYPE html>


















































<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
<title>

  GraphvizRenderer


| Guice

</title>
<link href="../../../../../../javadoc/assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
<link href="../../../../../../javadoc/assets/customizations.css" rel="stylesheet" type="text/css" />
<script src="../../../../../../javadoc/assets/search_autocomplete.js" type="text/javascript"></script>
<script src="../../../../../../javadoc/assets/jquery-resizable.min.js" type="text/javascript"></script>
<script src="../../../../../../javadoc/assets/android-developer-docs.js" type="text/javascript"></script>
<script src="../../../../../../javadoc/assets/prettify.js" type="text/javascript"></script>
<script type="text/javascript">
  setToRoot("../../../../../", "../../../../../../javadoc/assets/");
</script>
<script src="../../../../../../javadoc/assets/android-developer-reference.js" type="text/javascript"></script>
<script src="../../../../../../javadoc/assets/navtree_data.js" type="text/javascript"></script>
<script src="../../../../../../javadoc/assets/customizations.js" type="text/javascript"></script>
<noscript>
  <style type="text/css">
    html,body{overflow:auto;}
    #body-content{position:relative; top:0;}
    #doc-content{overflow:visible;border-left:3px solid #666;}
    #side-nav{padding:0;}
    #side-nav .toggle-list ul {display:block;}
    #resize-packages-nav{border-bottom:3px solid #666;}
  </style>
</noscript>
</head>

<body class="Guice_3.0">

<div id="header">
    <div id="headerLeft">
    
      <span id="masthead-title">Guice</span>
    
    </div>
    <div id="headerRight">
      
  <div id="search" >
      <div id="searchForm">
          <form accept-charset="utf-8" class="gsc-search-box" 
                onsubmit="return submit_search()">
            <table class="gsc-search-box" cellpadding="0" cellspacing="0"><tbody>
                <tr>
                  <td class="gsc-input">
                    <input id="search_autocomplete" class="gsc-input" type="text" size="33" autocomplete="off"
                      title="search developer docs" name="q"
                      value="search developer docs"
                      onFocus="search_focus_changed(this, true)"
                      onBlur="search_focus_changed(this, false)"
                      onkeydown="return search_changed(event, true, '../../../../../')"
                      onkeyup="return search_changed(event, false, '../../../../../')" />
                  <div id="search_filtered_div" class="no-display">
                      <table id="search_filtered" cellspacing=0>
                      </table>
                  </div>
                  </td>
                  <td class="gsc-search-button">
                    <input type="submit" value="Search" title="search" id="search-button" class="gsc-search-button" />
                  </td>
                  <td class="gsc-clear-button">
                    <div title="clear results" class="gsc-clear-button">&nbsp;</div>
                  </td>
                </tr></tbody>
              </table>
          </form>
      </div><!-- searchForm -->
  </div><!-- search -->
      
        
  <div id="api-level-toggle">
    <input type="checkbox" id="apiLevelCheckbox" onclick="toggleApiLevelSelector(this)" />
    <label for="apiLevelCheckbox" class="disabled">Filter by API Level: </label>
    <select id="apiLevelSelector">
      <!-- option elements added by buildApiLevelSelector() -->
    </select>
  </div>
  <script>
   var SINCE_DATA = [ 'Guice_1.0', 'Guice_2.0', 'Guice_3.0' ];
    
    var SINCE_LABELS = [ 'Guice_1.0', 'Guice_2.0', 'Guice_3.0' ];
    buildApiLevelSelector();
    addLoadEvent(changeApiLevel);
  </script>


      
    </div>
</div><!-- header -->


  <div class="g-section g-tpl-240" id="body-content">
    <div class="g-unit g-first side-nav-resizable" id="side-nav">
      <div id="swapper">
        <div id="nav-panels">
          <div id="resize-packages-nav">
            <div id="packages-nav">
              <div id="index-links"><nobr>
                <a href="../../../../../packages.html"  >Package Index</a> | 
                <a href="../../../../../classes.html" >Class Index</a></nobr>
              </div>
              <ul>
                
    <li class="api apilevel-Guice_1.0">
  <a href="../../../../../com/google/inject/package-summary.html">com.google.inject</a></li>
    <li class="api apilevel-Guice_2.0">
  <a href="../../../../../com/google/inject/assistedinject/package-summary.html">com.google.inject.assistedinject</a></li>
    <li class="api apilevel-Guice_1.0">
  <a href="../../../../../com/google/inject/binder/package-summary.html">com.google.inject.binder</a></li>
    <li class="api apilevel-Guice_3.0">
  <a href="../../../../../com/google/inject/grapher/package-summary.html">com.google.inject.grapher</a></li>
    <li class="selected api apilevel-Guice_3.0">
  <a href="../../../../../com/google/inject/grapher/graphviz/package-summary.html">com.google.inject.grapher.graphviz</a></li>
    <li class="api apilevel-Guice_1.0">
  <a href="../../../../../com/google/inject/jndi/package-summary.html">com.google.inject.jndi</a></li>
    <li class="api apilevel-Guice_1.0">
  <a href="../../../../../com/google/inject/matcher/package-summary.html">com.google.inject.matcher</a></li>
    <li class="api apilevel-Guice_2.0">
  <a href="../../../../../com/google/inject/multibindings/package-summary.html">com.google.inject.multibindings</a></li>
    <li class="api apilevel-Guice_1.0">
  <a href="../../../../../com/google/inject/name/package-summary.html">com.google.inject.name</a></li>
    <li class="api apilevel-Guice_3.0">
  <a href="../../../../../com/google/inject/persist/package-summary.html">com.google.inject.persist</a></li>
    <li class="api apilevel-Guice_3.0">
  <a href="../../../../../com/google/inject/persist/finder/package-summary.html">com.google.inject.persist.finder</a></li>
    <li class="api apilevel-Guice_3.0">
  <a href="../../../../../com/google/inject/persist/jpa/package-summary.html">com.google.inject.persist.jpa</a></li>
    <li class="api apilevel-Guice_1.0">
  <a href="../../../../../com/google/inject/servlet/package-summary.html">com.google.inject.servlet</a></li>
    <li class="api apilevel-Guice_1.0">
  <a href="../../../../../com/google/inject/spi/package-summary.html">com.google.inject.spi</a></li>
    <li class="api apilevel-Guice_2.0">
  <a href="../../../../../com/google/inject/spring/package-summary.html">com.google.inject.spring</a></li>
    <li class="api apilevel-Guice_2.0">
  <a href="../../../../../com/google/inject/throwingproviders/package-summary.html">com.google.inject.throwingproviders</a></li>
    <li class="api apilevel-Guice_1.0">
  <a href="../../../../../com/google/inject/tools/jmx/package-summary.html">com.google.inject.tools.jmx</a></li>
    <li class="api apilevel-Guice_2.0">
  <a href="../../../../../com/google/inject/util/package-summary.html">com.google.inject.util</a></li>
              </ul><br/>
            </div> <!-- end packages -->
          </div> <!-- end resize-packages -->
          <div id="classes-nav">
            <ul>
              
    <li><h2>Interfaces</h2>
      <ul>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/PortIdFactory.html">PortIdFactory</a></li>
      </ul>
    </li>
              
    <li><h2>Classes</h2>
      <ul>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/BindingEdgeFactory.html">BindingEdgeFactory</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/BindingEdgeFactory.GraphvizEdgeAdaptor.html">BindingEdgeFactory.GraphvizEdgeAdaptor</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/DependencyEdgeFactory.html">DependencyEdgeFactory</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/DependencyEdgeFactory.GraphvizEdgeAdaptor.html">DependencyEdgeFactory.GraphvizEdgeAdaptor</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizEdge.html">GraphvizEdge</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizModule.html">GraphvizModule</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a></li>
          <li class="selected api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html">GraphvizRenderer</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/ImplementationNodeFactory.html">ImplementationNodeFactory</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/ImplementationNodeFactory.GraphvizNodeAdaptor.html">ImplementationNodeFactory.GraphvizNodeAdaptor</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/InterfaceNodeFactory.html">InterfaceNodeFactory</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/InterfaceNodeFactory.GraphvizNodeAdaptor.html">InterfaceNodeFactory.GraphvizNodeAdaptor</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/PortIdFactoryImpl.html">PortIdFactoryImpl</a></li>
      </ul>
    </li>
              
              
    <li><h2>Enums</h2>
      <ul>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/ArrowType.html">ArrowType</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/CompassPoint.html">CompassPoint</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/EdgeStyle.html">EdgeStyle</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/NodeShape.html">NodeShape</a></li>
          <li class="api apilevel-Guice_3.0"><a href="../../../../../com/google/inject/grapher/graphviz/NodeStyle.html">NodeStyle</a></li>
      </ul>
    </li>
              
              
            </ul><br/>
          </div><!-- end classes -->
        </div><!-- end nav-panels -->
        <div id="nav-tree" style="display:none">
          <div id="index-links"><nobr>
            <a href="../../../../../packages.html"  >Package Index</a> | 
            <a href="../../../../../classes.html" >Class Index</a></nobr>
          </div>
        </div><!-- end nav-tree -->
      </div><!-- end swapper -->
    </div> <!-- end side-nav -->
    <script>
      if (!isMobile) {
        $("<a href='#' id='nav-swap' onclick='swapNav();return false;' style='font-size:10px;line-height:9px;margin-left:1em;text-decoration:none;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>").appendTo("#side-nav");
        chooseDefaultNav();
        if ($("#nav-tree").is(':visible')) {
          init_default_navtree("../../../../../");
        } else {
          addLoadEvent(function() {
            scrollIntoView("packages-nav");
            scrollIntoView("classes-nav");
          });
        }
        $("#swapper").css({borderBottom:"2px solid #aaa"});
      } else {
        swapNav(); // tree view should be used on mobile
      }
    </script>



<div class="g-unit" id="doc-content">

<div id="api-info-block">



  
   
  
  
  
  

  
   
  
  
  
  

  
   
  
  
  
  


<div class="sum-details-links">

Summary:









  <a href="#pubctors">Ctors</a>
  



  &#124; <a href="#pubmethods">Methods</a>
  


  &#124; <a href="#promethods">Protected Methods</a>
  


  &#124; <a href="#inhmethods">Inherited Methods</a>

&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>

</div><!-- end sum-details-links -->
<div class="api-level">
  

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>


  
  

</div>
</div><!-- end api-info-block -->


<!-- ======== START OF CLASS DATA ======== -->

<div id="jd-header">
    public
     
     
    
    class
<h1>GraphvizRenderer</h1>



  
    extends Object<br/>
  
  
  

  
  
      implements 
      
        <a href="../../../../../com/google/inject/grapher/NodeAliasFactory.html">NodeAliasFactory</a>&lt;K&gt; 
      
        <a href="../../../../../com/google/inject/grapher/Renderer.html">Renderer</a> 
      
  
  


</div><!-- end header -->

<div id="naMessage"></div>

<div id="jd-content" class="api apilevel-Guice_3.0">
<table class="jd-inheritance-table">


    <tr>
         	
        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
    </tr>
    

    <tr>
        
            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
         	
        <td colspan="1" class="jd-inheritance-class-cell">com.google.inject.grapher.graphviz.GraphvizRenderer</td>
    </tr>
    

</table>







<div class="jd-descr">


<h2>Class Overview</h2>
<p><code><a href="../../../../../com/google/inject/grapher/Renderer.html">Renderer</a></code> implementation that writes out a Graphviz DOT file of the
 graph. Bound in <code><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizModule.html">GraphvizModule</a></code>.
 <p>
 Specify the PrintWriter to output to with
 <code><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#setOut(java.io.PrintWriter)">setOut(PrintWriter)</a></code>.</p>





</div><!-- jd-descr -->
















<div class="jd-descr">


<h2>Summary</h2>























<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>



	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            </nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#GraphvizRenderer()">GraphvizRenderer</a></span>()</nobr>
        
  </td></tr>



</table>






<!-- ========== METHOD SUMMARY =========== -->
<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>



	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#addEdge(com.google.inject.grapher.graphviz.GraphvizEdge)">addEdge</a></span>(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizEdge.html">GraphvizEdge</a> edge)</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#addNode(com.google.inject.grapher.graphviz.GraphvizNode)">addNode</a></span>(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a> node)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#newAlias(java.lang.String, java.lang.String)">newAlias</a></span>(String fromId, String toId)</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#render()">render</a></span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            <a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html">GraphvizRenderer</a></nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#setOut(java.io.PrintWriter)">setOut</a></span>(PrintWriter out)</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            <a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html">GraphvizRenderer</a></nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#setRankdir(java.lang.String)">setRankdir</a></span>(String rankdir)</nobr>
        
  </td></tr>



</table>




<!-- ========== METHOD SUMMARY =========== -->
<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>



	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#finish()">finish</a></span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#getArrowString(java.util.List<com.google.inject.grapher.graphviz.ArrowType>)">getArrowString</a></span>(List&lt;<a href="../../../../../com/google/inject/grapher/graphviz/ArrowType.html">ArrowType</a>&gt; arrows)</nobr>
        
        <div class="jd-descrdiv">Turns a List of <code><a href="../../../../../com/google/inject/grapher/graphviz/ArrowType.html">ArrowType</a></code>s into a String that
 represents combining them.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            Map&lt;String,&nbsp;String&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#getEdgeAttributes(com.google.inject.grapher.graphviz.GraphvizEdge)">getEdgeAttributes</a></span>(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizEdge.html">GraphvizEdge</a> edge)</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#getEdgeEndPoint(java.lang.String, java.lang.String, com.google.inject.grapher.graphviz.CompassPoint)">getEdgeEndPoint</a></span>(String nodeId, String portId, <a href="../../../../../com/google/inject/grapher/graphviz/CompassPoint.html">CompassPoint</a> compassPoint)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            Map&lt;String,&nbsp;String&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#getGraphAttributes()">getGraphAttributes</a></span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            Map&lt;String,&nbsp;String&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#getNodeAttributes(com.google.inject.grapher.graphviz.GraphvizNode)">getNodeAttributes</a></span>(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a> node)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#getNodeLabel(com.google.inject.grapher.graphviz.GraphvizNode)">getNodeLabel</a></span>(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a> node)</nobr>
        
        <div class="jd-descrdiv">Creates the "label" for a node.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#htmlEscape(java.lang.String)">htmlEscape</a></span>(String str)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#renderEdge(com.google.inject.grapher.graphviz.GraphvizEdge)">renderEdge</a></span>(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizEdge.html">GraphvizEdge</a> edge)</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#renderNode(com.google.inject.grapher.graphviz.GraphvizNode)">renderNode</a></span>(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a> node)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#resolveAlias(java.lang.String)">resolveAlias</a></span>(String id)</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html#start()">start</a></span>()</nobr>
        
  </td></tr>



</table>





<!-- ========== METHOD SUMMARY =========== -->
<table id="inhmethods" class="jd-sumtable"><tr><th>
  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
  <div style="clear:left;">Inherited Methods</div></th></tr>


<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
          ><img id="inherited-methods-java.lang.Object-trigger"
          src="../../../../../../javadoc/assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From class

  java.lang.Object

<div id="inherited-methods-java.lang.Object">
  <div id="inherited-methods-java.lang.Object-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            Object</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">clone</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">equals</span>(Object arg0)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">finalize</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            Class&lt;?&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">getClass</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            int</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">hashCode</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">notify</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">notifyAll</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">toString</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>(long arg0)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
        
  </td></tr>


</table>
  </div>
</div>
</td></tr>



<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.inject.grapher.NodeAliasFactory" class="jd-expando-trigger closed"
          ><img id="inherited-methods-com.google.inject.grapher.NodeAliasFactory-trigger"
          src="../../../../../../javadoc/assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From interface

  <a href="../../../../../com/google/inject/grapher/NodeAliasFactory.html">com.google.inject.grapher.NodeAliasFactory</a>

<div id="inherited-methods-com.google.inject.grapher.NodeAliasFactory">
  <div id="inherited-methods-com.google.inject.grapher.NodeAliasFactory-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-com.google.inject.grapher.NodeAliasFactory-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/NodeAliasFactory.html#newAlias(K, K)">newAlias</a></span>(K fromId, K toId)</nobr>
        
        <div class="jd-descrdiv">Makes edges that would point to <code>fromId</code> point to
 <code>toId</code> instead.</div>
  
  </td></tr>


</table>
  </div>
</div>
</td></tr>



<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.inject.grapher.Renderer" class="jd-expando-trigger closed"
          ><img id="inherited-methods-com.google.inject.grapher.Renderer-trigger"
          src="../../../../../../javadoc/assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From interface

  <a href="../../../../../com/google/inject/grapher/Renderer.html">com.google.inject.grapher.Renderer</a>

<div id="inherited-methods-com.google.inject.grapher.Renderer">
  <div id="inherited-methods-com.google.inject.grapher.Renderer-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-com.google.inject.grapher.Renderer-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-Guice_3.0" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../com/google/inject/grapher/Renderer.html#render()">render</a></span>()</nobr>
        
  </td></tr>


</table>
  </div>
</div>
</td></tr>


</table>


</div><!-- jd-descr (summary) -->

<!-- Details -->








<!-- XML Attributes -->


<!-- Enum Values -->


<!-- Constants -->


<!-- Fields -->


<!-- Public ctors -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->
<h2>Public Constructors</h2>



<A NAME="GraphvizRenderer()"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        
      </span>
      <span class="sympad">GraphvizRenderer</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>





<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->



<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->

<h2>Public Methods</h2>



<A NAME="addEdge(com.google.inject.grapher.graphviz.GraphvizEdge)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">addEdge</span>
      <span class="normal">(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizEdge.html">GraphvizEdge</a> edge)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="addNode(com.google.inject.grapher.graphviz.GraphvizNode)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">addNode</span>
      <span class="normal">(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a> node)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="newAlias(java.lang.String, java.lang.String)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">newAlias</span>
      <span class="normal">(String fromId, String toId)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="render()"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">render</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="setOut(java.io.PrintWriter)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        <a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html">GraphvizRenderer</a>
      </span>
      <span class="sympad">setOut</span>
      <span class="normal">(PrintWriter out)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="setRankdir(java.lang.String)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        <a href="../../../../../com/google/inject/grapher/graphviz/GraphvizRenderer.html">GraphvizRenderer</a>
      </span>
      <span class="sympad">setRankdir</span>
      <span class="normal">(String rankdir)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>





<!-- ========= METHOD DETAIL ======== -->

<h2>Protected Methods</h2>



<A NAME="finish()"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        void
      </span>
      <span class="sympad">finish</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getArrowString(java.util.List<com.google.inject.grapher.graphviz.ArrowType>)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        String
      </span>
      <span class="sympad">getArrowString</span>
      <span class="normal">(List&lt;<a href="../../../../../com/google/inject/grapher/graphviz/ArrowType.html">ArrowType</a>&gt; arrows)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Turns a List of <code><a href="../../../../../com/google/inject/grapher/graphviz/ArrowType.html">ArrowType</a></code>s into a String that
 represents combining them. With Graphviz, that just means concatenating
 them.
</p></div>

    </div>
</div>


<A NAME="getEdgeAttributes(com.google.inject.grapher.graphviz.GraphvizEdge)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        Map&lt;String,&nbsp;String&gt;
      </span>
      <span class="sympad">getEdgeAttributes</span>
      <span class="normal">(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizEdge.html">GraphvizEdge</a> edge)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getEdgeEndPoint(java.lang.String, java.lang.String, com.google.inject.grapher.graphviz.CompassPoint)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        String
      </span>
      <span class="sympad">getEdgeEndPoint</span>
      <span class="normal">(String nodeId, String portId, <a href="../../../../../com/google/inject/grapher/graphviz/CompassPoint.html">CompassPoint</a> compassPoint)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getGraphAttributes()"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        Map&lt;String,&nbsp;String&gt;
      </span>
      <span class="sympad">getGraphAttributes</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getNodeAttributes(com.google.inject.grapher.graphviz.GraphvizNode)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        Map&lt;String,&nbsp;String&gt;
      </span>
      <span class="sympad">getNodeAttributes</span>
      <span class="normal">(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a> node)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getNodeLabel(com.google.inject.grapher.graphviz.GraphvizNode)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        String
      </span>
      <span class="sympad">getNodeLabel</span>
      <span class="normal">(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a> node)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Creates the "label" for a node. This is a string of HTML that defines a
 table with a heading at the top and (in the case of
 <code><a href="../../../../../com/google/inject/grapher/ImplementationNode.html">ImplementationNode</a></code>s) rows for each of the member fields.
</p></div>

    </div>
</div>


<A NAME="htmlEscape(java.lang.String)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        String
      </span>
      <span class="sympad">htmlEscape</span>
      <span class="normal">(String str)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="renderEdge(com.google.inject.grapher.graphviz.GraphvizEdge)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        void
      </span>
      <span class="sympad">renderEdge</span>
      <span class="normal">(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizEdge.html">GraphvizEdge</a> edge)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="renderNode(com.google.inject.grapher.graphviz.GraphvizNode)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        void
      </span>
      <span class="sympad">renderNode</span>
      <span class="normal">(<a href="../../../../../com/google/inject/grapher/graphviz/GraphvizNode.html">GraphvizNode</a> node)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="resolveAlias(java.lang.String)"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        String
      </span>
      <span class="sympad">resolveAlias</span>
      <span class="normal">(String id)</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="start()"></A>

<div class="jd-details api apilevel-Guice_3.0"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
         
         
        void
      </span>
      <span class="sympad">start</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div>

  Since: <a href="../../../../../guide/appendix/api-levels.html#levelGuice_3.0">API Level Guice_3.0</a>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>





<!-- ========= END OF CLASS DATA ========= -->
<A NAME="navbar_top"></A>

<div id="footer">
Generated by <a href="http://code.google.com/p/doclava/">Doclava</a>.
</div> <!-- end footer -->

</div> <!-- jd-content -->

</div><!-- end doc-content -->

</div> <!-- end body-content --> 

<script type="text/javascript">
init(); /* initialize android-developer-docs.js */
</script>

</body>
</html>
