org.javagen.agile.db.visitor
Class DefaultDatabaseVisitor

java.lang.Object
  extended by org.javagen.agile.db.visitor.DefaultDatabaseVisitor
All Implemented Interfaces:
Generator, Visit, Visitor, DatabaseVisitor
Direct Known Subclasses:
AutoIncrementFinderVisitor, IdAssignerDatabaseVisitor, LinkTableFinderVisitor, UniqueColumnTypeVisitor, UniquePKFinderVisitor

public class DefaultDatabaseVisitor
extends Object
implements DatabaseVisitor, Generator

Walks the database model tree, calling each visitor method for types in the itinerary.

Author:
Richard Easterling

Field Summary
protected  Set<String> itinerary
           
protected  String relativeInputPath
           
 
Fields inherited from interface org.javagen.agile.db.visitor.DatabaseVisitor
ALL_MODEL_TYPES, FK_ONLY_MODEL_TYPES, NON_FK_MODEL_TYPES
 
Constructor Summary
DefaultDatabaseVisitor()
           
 
Method Summary
 Model gen(Model input)
          Walks the database model tree.
 String getRelativeInputPath()
           
 Set<String> itinerary()
          A way to limit node traversal to a subset of model instances.
 void setItinerary(Set<String> itinerary)
           
 void setItinerary(String[] modelTypeNames)
           
 void setRelativeInputPath(String relativeInputPath)
           
 void visit(Column column)
           
 void visit(ColumnReference columnReference)
           
 void visit(Database database)
           
 void visit(FkConstraint fkConstraint)
           
 void visit(Model model)
          Called to perform a specific process on a model instance.
 void visit(PkColumn pkColumn)
           
 void visit(Table table)
           
 void visit(UniqueConstraint uniqueConstraint)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

itinerary

protected Set<String> itinerary

relativeInputPath

protected String relativeInputPath
Constructor Detail

DefaultDatabaseVisitor

public DefaultDatabaseVisitor()
Method Detail

gen

public Model gen(Model input)
Walks the database model tree.

Specified by:
gen in interface Generator
Parameters:
input - must be either a Database model or if a relativeInputPath is provided, should result in a Database model after navigating the relativeInputPath form the input node.
Returns:
the input node

itinerary

public Set<String> itinerary()
Description copied from interface: Visitor
A way to limit node traversal to a subset of model instances.

Specified by:
itinerary in interface Visitor
Returns:
set of tags defining a subset of model types to visit or null if all nodes should be visited.

visit

public void visit(Database database)
Specified by:
visit in interface DatabaseVisitor

visit

public void visit(Table table)
Specified by:
visit in interface DatabaseVisitor

visit

public void visit(Column column)
Specified by:
visit in interface DatabaseVisitor

visit

public void visit(ColumnReference columnReference)
Specified by:
visit in interface DatabaseVisitor

visit

public void visit(FkConstraint fkConstraint)
Specified by:
visit in interface DatabaseVisitor

visit

public void visit(PkColumn pkColumn)
Specified by:
visit in interface DatabaseVisitor

visit

public void visit(UniqueConstraint uniqueConstraint)
Specified by:
visit in interface DatabaseVisitor

visit

public void visit(Model model)
Description copied from interface: Visit
Called to perform a specific process on a model instance.

Specified by:
visit in interface Visit
Specified by:
visit in interface Visitor
Parameters:
model - instance to visit.

setItinerary

public void setItinerary(Set<String> itinerary)

setItinerary

public void setItinerary(String[] modelTypeNames)

getRelativeInputPath

public String getRelativeInputPath()

setRelativeInputPath

public void setRelativeInputPath(String relativeInputPath)


Copyright 2006-2006-2007 Outsource Cafe Inc.. All Rights Reserved.