Class BnfRandom

  • All Implemented Interfaces:
    BnfVisitor

    public class BnfRandom
    extends java.lang.Object
    implements BnfVisitor
    A BNF visitor that generates a random SQL statement.
    • 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
      • visitRuleOptional

        public void visitRuleOptional​(java.util.ArrayList<Rule> list)
        Description copied from interface: BnfVisitor
        Visit an OR list of optional rules.
        Specified by:
        visitRuleOptional in interface BnfVisitor
        Parameters:
        list - the optional rules
      • 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
      • visitRuleExtension

        public void visitRuleExtension​(Rule rule,
                                       boolean compatibility)
        Description copied from interface: BnfVisitor
        Visit a rule with non-standard extension.
        Specified by:
        visitRuleExtension in interface BnfVisitor
        Parameters:
        rule - the rule
        compatibility - whether this rule exists for compatibility only
      • setSeed

        public void setSeed​(int seed)
      • getStatementCount

        public int getStatementCount()