com.bonevich.erj.model
Class ModelElementTraverser

java.lang.Object
  |
  +--com.bonevich.erj.model.ModelElementTraverser
All Implemented Interfaces:
KeyVisitor, ModelElementVisitor

public final class ModelElementTraverser
extends java.lang.Object
implements ModelElementVisitor, KeyVisitor

Utility class for traversing the tree of ModelElements and performing some function on each node visited. The traversal occurs in the following order, from left to right, top to bottom:

      Schema
         |
    ------------
   |            |
  Domain      Relation
                |
         ---------------
        |               |
    Attribute       KeyConstraint (UniqueKey, PrimaryKey, ForeignKey)
 

Author:
Jeffrey D. Bonevich
See Also:
ModelElementTraverser

Constructor Summary
ModelElementTraverser(com.bonevich.util.Functor f)
           
 
Method Summary
 void traverse(ModelElement element)
           
 void visitAttribute(Attribute element)
           
 void visitDomain(Domain element)
           
 void visitForeignKey(ForeignKey key)
           
 void visitKey(KeyConstraint element)
           
 void visitPrimaryKey(PrimaryKey key)
           
 void visitRelation(Relation element)
           
 void visitSchema(Schema element)
           
 void visitUniqueKey(UniqueKey key)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModelElementTraverser

public ModelElementTraverser(com.bonevich.util.Functor f)
Method Detail

traverse

public void traverse(ModelElement element)

visitSchema

public void visitSchema(Schema element)
Specified by:
visitSchema in interface ModelElementVisitor

visitRelation

public void visitRelation(Relation element)
Specified by:
visitRelation in interface ModelElementVisitor

visitAttribute

public void visitAttribute(Attribute element)
Specified by:
visitAttribute in interface ModelElementVisitor

visitDomain

public void visitDomain(Domain element)
Specified by:
visitDomain in interface ModelElementVisitor

visitKey

public void visitKey(KeyConstraint element)
Specified by:
visitKey in interface ModelElementVisitor

visitUniqueKey

public void visitUniqueKey(UniqueKey key)
Specified by:
visitUniqueKey in interface KeyVisitor

visitPrimaryKey

public void visitPrimaryKey(PrimaryKey key)
Specified by:
visitPrimaryKey in interface KeyVisitor

visitForeignKey

public void visitForeignKey(ForeignKey key)
Specified by:
visitForeignKey in interface KeyVisitor


Copyright © 2001-2003 bonevich.com. All Rights Reserved.