org.drools.reteoo
Class ReteooBuilder

java.lang.Object
  extended by org.drools.reteoo.ReteooBuilder
All Implemented Interfaces:
Externalizable, Serializable

public class ReteooBuilder
extends Object
implements Externalizable

Builds the Rete-OO network for a Package.

See Also:
Package, Serialized Form

Nested Class Summary
static class ReteooBuilder.IdGenerator
           
static class ReteooBuilder.RuleSequenceComparator
           
 
Constructor Summary
ReteooBuilder()
           
 
Method Summary
 void addEntryPoint(String id)
           
 void addNamedWindow(WindowDeclaration window)
           
 ReteooBuilder.IdGenerator getIdGenerator()
           
 Map<Rule,BaseNode[]> getTerminalNodes()
           
 BaseNode[] getTerminalNodes(Rule rule)
           
 WindowNode getWindowNode(String name)
           
 void order()
           
 void readExternal(ObjectInput in)
           
 void removeRule(Rule rule)
           
 void resetMasks(RuleRemovalContext context)
          Rule removal now keeps a list of all the visited nodes.
protected  void setOrdered(boolean ordered)
           
 void setRuleBase(ReteooRuleBase reteooRuleBase)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReteooBuilder

public ReteooBuilder()
Method Detail

addEntryPoint

public void addEntryPoint(String id)

addNamedWindow

public void addNamedWindow(WindowDeclaration window)

getWindowNode

public WindowNode getWindowNode(String name)

getIdGenerator

public ReteooBuilder.IdGenerator getIdGenerator()

setOrdered

protected void setOrdered(boolean ordered)

order

public void order()

getTerminalNodes

public BaseNode[] getTerminalNodes(Rule rule)

getTerminalNodes

public Map<Rule,BaseNode[]> getTerminalNodes()

removeRule

public void removeRule(Rule rule)

resetMasks

public void resetMasks(RuleRemovalContext context)
Rule removal now keeps a list of all the visited nodes. We iterate each of those to find the nodes still in use, who's inferred mask is now stale. For each node we find the tip, which is either BetaNode or RuleTerminalNode and re initialise the inferred mask, which will trickle back up to the OTN


writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException

setRuleBase

public void setRuleBase(ReteooRuleBase reteooRuleBase)


Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.