com.google.inject.grapher.graphviz
Class GraphvizRenderer

java.lang.Object
  extended by com.google.inject.grapher.graphviz.GraphvizRenderer
All Implemented Interfaces:
NodeAliasFactory<java.lang.String>, Renderer

public class GraphvizRenderer
extends java.lang.Object
implements Renderer, NodeAliasFactory<java.lang.String>

Renderer implementation that writes out a Graphviz DOT file of the graph. Bound in GraphvizModule.

Specify the PrintWriter to output to with setOut(PrintWriter).

Author:
phopkins@gmail.com (Pete Hopkins)

Constructor Summary
GraphvizRenderer()
           
 
Method Summary
 void addEdge(GraphvizEdge edge)
           
 void addNode(GraphvizNode node)
           
protected  void finish()
           
protected  java.lang.String getArrowString(java.util.List<ArrowType> arrows)
          Turns a List of ArrowTypes into a String that represents combining them.
protected  java.util.Map<java.lang.String,java.lang.String> getEdgeAttributes(GraphvizEdge edge)
           
protected  java.lang.String getEdgeEndPoint(java.lang.String nodeId, java.lang.String portId, CompassPoint compassPoint)
           
protected  java.util.Map<java.lang.String,java.lang.String> getGraphAttributes()
           
protected  java.util.Map<java.lang.String,java.lang.String> getNodeAttributes(GraphvizNode node)
           
protected  java.lang.String getNodeLabel(GraphvizNode node)
          Creates the "label" for a node.
protected  java.lang.String htmlEscape(java.lang.String str)
           
 void newAlias(java.lang.String fromId, java.lang.String toId)
          Makes edges that would point to fromId point to toId instead.
 void render()
           
protected  void renderEdge(GraphvizEdge edge)
           
protected  void renderNode(GraphvizNode node)
           
protected  java.lang.String resolveAlias(java.lang.String id)
           
 GraphvizRenderer setOut(java.io.PrintWriter out)
           
 GraphvizRenderer setRankdir(java.lang.String rankdir)
           
protected  void start()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GraphvizRenderer

public GraphvizRenderer()
Method Detail

setOut

public GraphvizRenderer setOut(java.io.PrintWriter out)

setRankdir

public GraphvizRenderer setRankdir(java.lang.String rankdir)

addNode

public void addNode(GraphvizNode node)

addEdge

public void addEdge(GraphvizEdge edge)

newAlias

public void newAlias(java.lang.String fromId,
                     java.lang.String toId)
Description copied from interface: NodeAliasFactory
Makes edges that would point to fromId point to toId instead.

Specified by:
newAlias in interface NodeAliasFactory<java.lang.String>

resolveAlias

protected java.lang.String resolveAlias(java.lang.String id)

render

public void render()
Specified by:
render in interface Renderer

getGraphAttributes

protected java.util.Map<java.lang.String,java.lang.String> getGraphAttributes()

start

protected void start()

finish

protected void finish()

renderNode

protected void renderNode(GraphvizNode node)

getNodeAttributes

protected java.util.Map<java.lang.String,java.lang.String> getNodeAttributes(GraphvizNode node)

getNodeLabel

protected java.lang.String getNodeLabel(GraphvizNode node)
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 ImplementationNodes) rows for each of the member fields.


renderEdge

protected void renderEdge(GraphvizEdge edge)

getEdgeAttributes

protected java.util.Map<java.lang.String,java.lang.String> getEdgeAttributes(GraphvizEdge edge)

getArrowString

protected java.lang.String getArrowString(java.util.List<ArrowType> arrows)
Turns a List of ArrowTypes into a String that represents combining them. With Graphviz, that just means concatenating them.


getEdgeEndPoint

protected java.lang.String getEdgeEndPoint(java.lang.String nodeId,
                                           java.lang.String portId,
                                           CompassPoint compassPoint)

htmlEscape

protected java.lang.String htmlEscape(java.lang.String str)


Copyright © 2006-2011 Google, Inc.. All Rights Reserved.