com.neoworks.jukex.query
Class JukeXParser

java.lang.Object
  |
  +--com.neoworks.rdc.Parser
        |
        +--com.neoworks.jukex.query.JukeXParser

public class JukeXParser
extends Parser

A recursive descent compiler which parses the JukeX Query Language into an object which represents a query.

Author:
Nick Vincent nick@neoworks.com

Field Summary
static int SORT_ASC
          Result sorting (ORDER BY) flag indicating that results should be sorted in ascending order
static int SORT_DESC
          Result sorting (ORDER BY) flag indicating that results should be sorted in descending order
static int SORT_NONE
          Result sorting (ORDER BY) flag indicating that results should not be sorted
 
Fields inherited from class com.neoworks.rdc.Parser
DUMMY, fVerbose, ID, LOOKAHEAD_TYPE, LOOKAHEAD_VALUE, NONE, NUM, STRING
 
Method Summary
static JukeXParser createParser(java.lang.String parseString)
          Create a new parser for the supplied String
 Expression expression()
          Parse an expression
 java.util.Set getAttributes()
          Returns a Set of String objects representing the set of attribute names present in the query.
 java.util.List getSelectAttributes()
          Get a List of Strings representing the attributes present in the SELECT statement of the query.
 Expression logicalop()
          Parse a logical operation
 Query parse()
          Parse the string.
 Expression prefixop()
          Parse a prefix operation.
 Expression relopexpression()
          Parse a relational operation.
 
Methods inherited from class com.neoworks.rdc.Parser
configure, displayMessageVerbose, getLookAheadData, getLookAheadType, getLookAheadValue, getVerbose, lookAhead, lookAhead, lookupTokenID, match, match, match, parseError, parseError, parseError, parseError, setVerbose
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SORT_NONE

public static final int SORT_NONE
Result sorting (ORDER BY) flag indicating that results should not be sorted

See Also:
Constant Field Values

SORT_ASC

public static final int SORT_ASC
Result sorting (ORDER BY) flag indicating that results should be sorted in ascending order

See Also:
Constant Field Values

SORT_DESC

public static final int SORT_DESC
Result sorting (ORDER BY) flag indicating that results should be sorted in descending order

See Also:
Constant Field Values
Method Detail

createParser

public static JukeXParser createParser(java.lang.String parseString)
Create a new parser for the supplied String

Parameters:
parseString - The String to parse
Returns:
A JukeXParser for the parseString

parse

public Query parse()
            throws ParserException
Parse the string.

Returns:
A Query object corresponding to the query string parsed
Throws:
ParserException - If the string does not represent a valid query

expression

public Expression expression()
                      throws ParserException
Parse an expression

Returns:
The resulting Expression
Throws:
ParserException - If there is a parse error

logicalop

public Expression logicalop()
                     throws ParserException
Parse a logical operation

Returns:
The resulting Expression
Throws:
ParserException - If there is a parse error

prefixop

public Expression prefixop()
                    throws ParserException
Parse a prefix operation.

Returns:
The resulting Expression
Throws:
ParserException - If there is a parse error

relopexpression

public Expression relopexpression()
                           throws ParserException
Parse a relational operation.

Returns:
The resulting Expression
Throws:
ParserException - If there is a parse error

getAttributes

public java.util.Set getAttributes()
Returns a Set of String objects representing the set of attribute names present in the query.

Returns:
A Set of String objects

getSelectAttributes

public java.util.List getSelectAttributes()
Get a List of Strings representing the attributes present in the SELECT statement of the query.

Returns:
A List of the names of the Attributes present.