proper.engine
Class Propagator

java.lang.Object
  extended by proper.core.ProperObject
      extended by proper.engine.Engine
          extended by proper.engine.DatabaseEngine
              extended by proper.engine.Propagator
All Implemented Interfaces:
ProperInterface

public class Propagator
extends DatabaseEngine

Transforms a tree structure of relations between tables into a star structure with a depth of one, i.e. one central table and then all the others adjacent to it. It uses the class RelationDiscoverer to determine the relations between the tables given a table as starting point. From the generated tree structure it subsequently propagates the keys of the node to its leaves. TODO: adapt to JoinTreeNode

Version:
$Revision: 1.3 $
Author:
FracPete
See Also:
RelationDiscoverer

Field Summary
static java.lang.String TMPPREFIX
          prefix for temporary tables
 
Fields inherited from interface proper.core.ProperInterface
VERSION
 
Constructor Summary
Propagator()
          initializes the object
 
Method Summary
 void dropTables()
          drops all temporary tables and also the result table
 boolean execute()
          executes the flattening of the tables
 boolean getShowRelations()
          whether the relations between the tables are shown before flattening
 TemporaryName getTemporaryName()
          returns the temporary name generator
 void setShowRelations(boolean showRelations)
          whether to display the relations before flattening or not
 void setTemporaryName(TemporaryName tmpName)
          sets the generator for temporary names
 
Methods inherited from class proper.engine.Engine
clear, copyParameter, exists, getParameter, getParameters, getStringParameter, setParameter, setParameters, toString, valueEquals
 
Methods inherited from class proper.core.ProperObject
addListener, addOutput, classInVerbose, debugprint, debugprint, debugprint, debugprint, debugprintln, debugprintln, debugprintln, debugprintln, debugprintln, getListeners, getRuntime, getVerbose, getVerboseLevel, getVerboseLevelForClass, getVerboseString, getVerboseStringForClass, notifyListener, notifyListeners, print, print, print, print, println, println, println, println, println, printMemory, removeListener, setOutput, setVerbose, setVerboseLevel, setVerboseString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TMPPREFIX

public static final java.lang.String TMPPREFIX
prefix for temporary tables

See Also:
Constant Field Values
Constructor Detail

Propagator

public Propagator()
initializes the object

Method Detail

setTemporaryName

public void setTemporaryName(TemporaryName tmpName)
sets the generator for temporary names


getTemporaryName

public TemporaryName getTemporaryName()
returns the temporary name generator


setShowRelations

public void setShowRelations(boolean showRelations)
whether to display the relations before flattening or not


getShowRelations

public boolean getShowRelations()
whether the relations between the tables are shown before flattening


dropTables

public void dropTables()
drops all temporary tables and also the result table


execute

public boolean execute()
executes the flattening of the tables

Overrides:
execute in class Engine