net.sf.farrago.miniplan
Class FarragoMiniplanPersonalityFactory

java.lang.Object
  extended by net.sf.farrago.miniplan.FarragoMiniplanPersonalityFactory
All Implemented Interfaces:
FarragoSessionPersonalityFactory

public class FarragoMiniplanPersonalityFactory
extends Object
implements FarragoSessionPersonalityFactory

FarragoMiniplanPersonalityFactory implements the FarragoSessionPersonalityFactory interface by plugging in a "mini" planner meant only for tutorial purposes.

If you modify this class, please update the corresponding wiki page as well.

Version:
$Id: //open/dev/farrago/examples/miniplan/src/net/sf/farrago/miniplan/FarragoMiniplanPersonalityFactory.java#7 $
Author:
John V. Sichi

Nested Class Summary
private static class FarragoMiniplanPersonalityFactory.FarragoMiniplanSessionPersonality
           
private static class FarragoMiniplanPersonalityFactory.FarragoVolcanoMiniplanner
           
 
Constructor Summary
FarragoMiniplanPersonalityFactory()
           
 
Method Summary
private static void addMiniplannerRules(FarragoSessionPlanner planner)
           
private static HepProgram createMiniplannerHepProgram(Collection<RelOptRule> medPluginRules)
           
 FarragoSessionPersonality newSessionPersonality(FarragoSession session, FarragoSessionPersonality defaultPersonality)
          Creates a new session personality.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FarragoMiniplanPersonalityFactory

public FarragoMiniplanPersonalityFactory()
Method Detail

newSessionPersonality

public FarragoSessionPersonality newSessionPersonality(FarragoSession session,
                                                       FarragoSessionPersonality defaultPersonality)
Description copied from interface: FarragoSessionPersonalityFactory
Creates a new session personality.

Specified by:
newSessionPersonality in interface FarragoSessionPersonalityFactory
Parameters:
session - session for which personality is being created; note that the personality may be used for other sessions as well, so no reference to this session should be retained
defaultPersonality - a default personality to which the new personality may delegate, or null if no default is available
Returns:
personality

addMiniplannerRules

private static void addMiniplannerRules(FarragoSessionPlanner planner)

createMiniplannerHepProgram

private static HepProgram createMiniplannerHepProgram(Collection<RelOptRule> medPluginRules)