gov.ornl.csed.csiir.idr.kdd.dataservice.server.models
Class DataSetQueryRequest.QueryNode

java.lang.Object
  extended by gov.ornl.csed.csiir.idr.kdd.dataservice.server.models.DataSetQueryRequest.QueryNode
Enclosing class:
DataSetQueryRequest

public abstract static class DataSetQueryRequest.QueryNode
extends java.lang.Object

The QueryNode class represents a node of a boolean query. Complex boolean queries are built by recursively combining a number of query nodes. See DataSetQueryRequest for an example.


Constructor Summary
DataSetQueryRequest.QueryNode()
           
 
Method Summary
static DataSetQueryRequest.QueryNode createAndNode(DataSetQueryRequest.QueryNode leftChild, DataSetQueryRequest.QueryNode rightChild)
          Creates a query node object that connects a pair of subexpressions with a logical AND.
static DataSetQueryRequest.QueryNode createDateNode(java.lang.String year, java.lang.String month, java.lang.String day, java.lang.String hour, java.lang.String minute)
          Creates a query node that will search all date fields for the supplied date value.
static DataSetQueryRequest.QueryNode createDateNode(java.lang.String field, java.lang.String year, java.lang.String month, java.lang.String day, java.lang.String hour, java.lang.String minute)
          Creates a query node that will search only the specified field for the supplied date value.
static DataSetQueryRequest.QueryNode createKeywordNode(java.lang.String keyword)
          Creates a query node that will search all data set fields for the supplied keyword value.
static DataSetQueryRequest.QueryNode createKeywordNode(java.lang.String field, java.lang.String keyword)
          Creates a query node that will search only the specified field for the supplied keyword value.
static DataSetQueryRequest.QueryNode createNotNode(DataSetQueryRequest.QueryNode child)
          Creates a query node that logically negates the supplied subexpression.
static DataSetQueryRequest.QueryNode createOrNode(DataSetQueryRequest.QueryNode leftChild, DataSetQueryRequest.QueryNode rightChild)
          Create a query node that connects a pair of subexpressions with a logical OR.
static DataSetQueryRequest.QueryNode createRangeNode(java.lang.String startValue, java.lang.String endValue)
          Creates a query node that will search all data set fields for values within the supplied inclusive range.
static DataSetQueryRequest.QueryNode createRangeNode(java.lang.String field, java.lang.String startValue, java.lang.String endValue)
          Creates a query node that will search only the specified field for values within the supplied inclusive range.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataSetQueryRequest.QueryNode

public DataSetQueryRequest.QueryNode()
Method Detail

createAndNode

public static DataSetQueryRequest.QueryNode createAndNode(DataSetQueryRequest.QueryNode leftChild,
                                                          DataSetQueryRequest.QueryNode rightChild)
                                                   throws KDDDataServiceException
Creates a query node object that connects a pair of subexpressions with a logical AND.

Parameters:
leftChild -
rightChild -
Returns:
a new query node
Throws:
KDDDataServiceException

createOrNode

public static DataSetQueryRequest.QueryNode createOrNode(DataSetQueryRequest.QueryNode leftChild,
                                                         DataSetQueryRequest.QueryNode rightChild)
                                                  throws KDDDataServiceException
Create a query node that connects a pair of subexpressions with a logical OR.

Parameters:
leftChild -
rightChild -
Returns:
a new query node
Throws:
KDDDataServiceException

createNotNode

public static DataSetQueryRequest.QueryNode createNotNode(DataSetQueryRequest.QueryNode child)
                                                   throws KDDDataServiceException
Creates a query node that logically negates the supplied subexpression.

Parameters:
child -
Returns:
a new query node
Throws:
KDDDataServiceException

createKeywordNode

public static DataSetQueryRequest.QueryNode createKeywordNode(java.lang.String keyword)
                                                       throws KDDDataServiceException
Creates a query node that will search all data set fields for the supplied keyword value.

Parameters:
keyword -
Returns:
a new query node
Throws:
KDDDataServiceException

createKeywordNode

public static DataSetQueryRequest.QueryNode createKeywordNode(java.lang.String field,
                                                              java.lang.String keyword)
                                                       throws KDDDataServiceException
Creates a query node that will search only the specified field for the supplied keyword value.

Parameters:
field -
keyword -
Returns:
a new query node
Throws:
KDDDataServiceException

createDateNode

public static DataSetQueryRequest.QueryNode createDateNode(java.lang.String year,
                                                           java.lang.String month,
                                                           java.lang.String day,
                                                           java.lang.String hour,
                                                           java.lang.String minute)
                                                    throws KDDDataServiceException
Creates a query node that will search all date fields for the supplied date value.

Parameters:
year - the 4-digit year
month - the decimal representation or name of the month (i.e. 1-12 or January-December)
day - the date in the month
hour - the hour of the day as a value 0 through 23
minute - the minute value of the time
Returns:
a new query node
Throws:
KDDDataServiceException

createDateNode

public static DataSetQueryRequest.QueryNode createDateNode(java.lang.String field,
                                                           java.lang.String year,
                                                           java.lang.String month,
                                                           java.lang.String day,
                                                           java.lang.String hour,
                                                           java.lang.String minute)
                                                    throws KDDDataServiceException
Creates a query node that will search only the specified field for the supplied date value.

Parameters:
field - the date-type field to search
year - the 4-digit year
month - the decimal representation or name of the month (i.e. 1-12 or January-December)
day - the date in the month
hour - the hour of the day as a value 0 through 23
minute - the minute value of the time
Returns:
a new query node
Throws:
KDDDataServiceException

createRangeNode

public static DataSetQueryRequest.QueryNode createRangeNode(java.lang.String startValue,
                                                            java.lang.String endValue)
                                                     throws KDDDataServiceException
Creates a query node that will search all data set fields for values within the supplied inclusive range.

Parameters:
startValue - the least value in the range
endValue - the greatest value in the range
Returns:
a new query node
Throws:
KDDDataServiceException

createRangeNode

public static DataSetQueryRequest.QueryNode createRangeNode(java.lang.String field,
                                                            java.lang.String startValue,
                                                            java.lang.String endValue)
                                                     throws KDDDataServiceException
Creates a query node that will search only the specified field for values within the supplied inclusive range.

Parameters:
field - the field to search
startValue - the least value in the range
endValue - the greatest value in the range
Returns:
a new query node
Throws:
KDDDataServiceException