org.h2.test.synth
Class BnfRandom

java.lang.Object
  extended by org.h2.test.synth.BnfRandom
All Implemented Interfaces:
BnfVisitor

public class BnfRandom
extends java.lang.Object
implements BnfVisitor

A BNF visitor that generates a random SQL statement.


Constructor Summary
BnfRandom()
           
 
Method Summary
 java.lang.String getRandomSQL()
           
 int getStatementCount()
           
 void setSeed(int seed)
           
 void visitRuleElement(boolean keyword, java.lang.String name, Rule link)
          Visit a rule element.
 void visitRuleFixed(int type)
          Visit a fixed rule.
 void visitRuleList(boolean or, java.util.ArrayList<Rule> list)
          Visit a rule list.
 void visitRuleOptional(Rule rule)
          Visit an optional rule.
 void visitRuleRepeat(boolean comma, Rule rule)
          Visit a repeat rule.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BnfRandom

public BnfRandom()
          throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

getRandomSQL

public java.lang.String getRandomSQL()

visitRuleElement

public void visitRuleElement(boolean keyword,
                             java.lang.String name,
                             Rule link)
Description copied from interface: BnfVisitor
Visit a rule element.

Specified by:
visitRuleElement in interface BnfVisitor
Parameters:
keyword - whether this is a keyword
name - the element name
link - the linked rule if it's not a keyword

visitRuleFixed

public void visitRuleFixed(int type)
Description copied from interface: BnfVisitor
Visit a fixed rule.

Specified by:
visitRuleFixed in interface BnfVisitor
Parameters:
type - the type

visitRuleList

public void visitRuleList(boolean or,
                          java.util.ArrayList<Rule> list)
Description copied from interface: BnfVisitor
Visit a rule list.

Specified by:
visitRuleList in interface BnfVisitor
Parameters:
or - true for OR, false for AND
list - the rules

visitRuleOptional

public void visitRuleOptional(Rule rule)
Description copied from interface: BnfVisitor
Visit an optional rule.

Specified by:
visitRuleOptional in interface BnfVisitor
Parameters:
rule - the rule

visitRuleRepeat

public void visitRuleRepeat(boolean comma,
                            Rule rule)
Description copied from interface: BnfVisitor
Visit a repeat rule.

Specified by:
visitRuleRepeat in interface BnfVisitor
Parameters:
comma - whether the comma is repeated as well
rule - the element to repeat

setSeed

public void setSeed(int seed)

getStatementCount

public int getStatementCount()