org.kahina.core
Class KahinaInstance<S extends KahinaState,G extends KahinaGUI,B extends KahinaBridge>

java.lang.Object
  extended by org.kahina.core.KahinaInstance<S,G,B>
All Implemented Interfaces:
KahinaListener
Direct Known Subclasses:
LogicProgrammingInstance, TulipaInstance

public abstract class KahinaInstance<S extends KahinaState,G extends KahinaGUI,B extends KahinaBridge>
extends Object
implements KahinaListener


Field Summary
protected  B bridge
           
protected  KahinaController controller
           
protected  G gui
           
protected  KahinaController guiController
           
protected  S state
           
protected  ObjectMagazine<KahinaStep> steps
           
 
Constructor Summary
KahinaInstance()
           
 
Method Summary
protected abstract  B createBridge()
           
protected abstract  G createGUI(KahinaController guiController)
           
protected abstract  S createState()
           
protected abstract  void createTreeBehavior()
           
protected  void fillViewRegistry()
          overwrite this to register views for user-defined datatypes MUST register views for all data types use super.fillViewRegistry() in implementations to register most basic views
 S getState()
           
protected  void initializeNewSession()
           
 void processEvent(KahinaEvent e)
           
 void start(String[] args)
          Writing a main method for a Kahina-based debugging environment is simple: just create an instance of your KahinaInstance subclass and pass its start method the arguments.
 B startNewSession()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gui

protected G extends KahinaGUI gui

state

protected S extends KahinaState state

bridge

protected B extends KahinaBridge bridge

controller

protected KahinaController controller

steps

protected ObjectMagazine<KahinaStep> steps

guiController

protected final KahinaController guiController
Constructor Detail

KahinaInstance

public KahinaInstance()
Method Detail

startNewSession

public B startNewSession()

initializeNewSession

protected void initializeNewSession()

createTreeBehavior

protected abstract void createTreeBehavior()

createState

protected abstract S createState()

createGUI

protected abstract G createGUI(KahinaController guiController)

createBridge

protected abstract B createBridge()

getState

public S getState()

fillViewRegistry

protected void fillViewRegistry()
overwrite this to register views for user-defined datatypes MUST register views for all data types use super.fillViewRegistry() in implementations to register most basic views


processEvent

public void processEvent(KahinaEvent e)
Specified by:
processEvent in interface KahinaListener

start

public void start(String[] args)
Writing a main method for a Kahina-based debugging environment is simple: just create an instance of your KahinaInstance subclass and pass its start method the arguments.

Parameters:
args -