de.matthias_burbach.deputy.core
Class AbstractDependencyGraphGenerator

java.lang.Object
  extended byde.matthias_burbach.deputy.core.AbstractDependencyGraphGenerator
Direct Known Subclasses:
DependencyGraphMLGenerator, DependencyGraphXmlGenerator

public abstract class AbstractDependencyGraphGenerator
extends java.lang.Object

Is the abstract base class for the two dependency graph generators.

Author:
Matthias Burbach

Constructor Summary
AbstractDependencyGraphGenerator()
           
 
Method Summary
protected  void fillNodeMap(Project project, java.util.Map map)
          Adds all projects that can be reached from project to the map if they are not already contained in the map.
protected abstract  void generateDependencyElements(Project topProject, org.jdom.Document document)
           
 void generateDependencyGraph(Project project, java.lang.String outputFileName)
           
protected abstract  void generateProjectElements(Project topProject, org.jdom.Document document)
           
protected  java.util.Iterator getNodeIterator(Project project)
           
protected  java.lang.String getProjectHashKey(java.lang.String artifactId, java.lang.String version)
           
protected abstract  java.lang.String getTemplateFileName()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractDependencyGraphGenerator

public AbstractDependencyGraphGenerator()
Method Detail

generateDependencyGraph

public void generateDependencyGraph(Project project,
                                    java.lang.String outputFileName)
                             throws java.lang.Exception
Parameters:
project - The project to export.
outputFileName - The absolute file path and name to store the export under.
Throws:
java.lang.Exception - if anything goes unexpectedly wrong

getTemplateFileName

protected abstract java.lang.String getTemplateFileName()
Returns:
The name of the template XML file to use.

generateProjectElements

protected abstract void generateProjectElements(Project topProject,
                                                org.jdom.Document document)
                                         throws java.lang.Exception
Parameters:
topProject - The top project which is the root of the graph.
document - The XML document to generate project nodes into.
Throws:
java.lang.Exception - if anything goes unexpectedly wrong

generateDependencyElements

protected abstract void generateDependencyElements(Project topProject,
                                                   org.jdom.Document document)
                                            throws java.lang.Exception
Parameters:
topProject - The top project which is the root of the graph.
document - The XML document to generate dependency nodes into.
Throws:
java.lang.Exception - if anything goes unexpectedly wrong

getNodeIterator

protected java.util.Iterator getNodeIterator(Project project)
Parameters:
project - The top project which is the root of the graph.
Returns:
The iterator over all projects of type Project that can be reached from the top project.

fillNodeMap

protected void fillNodeMap(Project project,
                           java.util.Map map)
Adds all projects that can be reached from project to the map if they are not already contained in the map.

Parameters:
project - The top project which is the root of the (sub) graph.
map - The map of project keys to projects to be filled.

getProjectHashKey

protected java.lang.String getProjectHashKey(java.lang.String artifactId,
                                             java.lang.String version)
Parameters:
artifactId - The artifact id of the project to create a key for.
version - The version of the project to create a key for.
Returns:
The key to store a project under in a map.


Copyright © 2005-2007 . All Rights Reserved.