edu.duke.cs.banjo.learner.components
Class CycleCheckerCheckThenApply

java.lang.Object
  extended byedu.duke.cs.banjo.learner.components.CycleChecker
      extended byedu.duke.cs.banjo.learner.components.CycleCheckerCheckThenApply
All Implemented Interfaces:
CycleCheckerI

public class CycleCheckerCheckThenApply
extends CycleChecker

Checks for a cycle in the network by depth first traversal.

Details:

Change History:
Created on Nov 23, 2004

2/8/2005 (v2.0) hjs Rename to better reflect the core function of this class.

hjs (v2.1) Changes to update the use of FileUtil

Author:
Jurgen Sladeczek (hjs)
For the latest info, please visit www.cs.duke.edu.

Field Summary
 
Fields inherited from class edu.duke.cs.banjo.learner.components.CycleChecker
acyclicChangeTypeTracker, bayesNetChange, bayesNetManager, consideredChangeTypeTracker, processData
 
Constructor Summary
CycleCheckerCheckThenApply(BayesNetManagerI initialBayesNet, Settings processData)
           
 
Method Summary
 boolean isChangeValid(BayesNetManagerI _bayesNetManager, BayesNetChangeI _bayesNetChange)
          Checks whether the proposed bayesNetChange results in a cycle in the network described by the bayesNetManager.
protected  boolean isCyclic()
           
 
Methods inherited from class edu.duke.cs.banjo.learner.components.CycleChecker
provideCollectedStatistics, updateProcessData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CycleCheckerCheckThenApply

public CycleCheckerCheckThenApply(BayesNetManagerI initialBayesNet,
                                  Settings processData)
                           throws java.lang.Exception
Method Detail

isChangeValid

public boolean isChangeValid(BayesNetManagerI _bayesNetManager,
                             BayesNetChangeI _bayesNetChange)
                      throws java.lang.Exception
Description copied from interface: CycleCheckerI
Checks whether the proposed bayesNetChange results in a cycle in the network described by the bayesNetManager.

Specified by:
isChangeValid in interface CycleCheckerI
Specified by:
isChangeValid in class CycleChecker
Throws:
java.lang.Exception

isCyclic

protected boolean isCyclic()
                    throws java.lang.Exception
Throws:
java.lang.Exception