com.smartgwt.client.data
Class AdvancedCriteria
java.lang.Object
com.smartgwt.client.core.JsObject
com.smartgwt.client.core.DataClass
com.smartgwt.client.data.Criteria
com.smartgwt.client.data.Criterion
com.smartgwt.client.data.AdvancedCriteria
public class AdvancedCriteria
- extends Criterion
AdvancedCriteria is a format for representing search criteria which may include
operators on field values such as "less than", or may include sub-clauses such as several
criteria applied to fields joined by an "OR" operator.
Smart GWT DataSources can use AdvancedCriteria to search a list of Records, and
the Smart GWT Java Server can translate AdvancedCriteria to either SQL or Hibernate
queries (Note: The server-side AdvancedCriteria handling feature is only available
with the Power and Enterprise Editions of Smart GWT; the Pro Edition is
limited to ordinary criteria handling on the server side).
If the entire dataset is cached locally, Smart GWT can perform AdvancedCriteria filtering
on the client, avoiding a server call.
AdvancedCriteria objects can be created directly in java. For example:
AdvancedCriteria criteria = new AdvancedCriteria(OperatorId.AND, new Criterion[]{
new Criterion("salary", OperatorId.LESS_THAN, 8000),
new AdvancedCriteria(OperatorId.OR, new Criterion[]{
new Criterion("title", OperatorId.ICONTAINS, "Manager"),
new Criterion("reports", OperatorId.NOT_NULL)
})
});
In addition to building a raw AdvancedCriteria object as described above, the
DataSource.convertCriteria and DataSource.combineCriteria methods
may be used to create and modify criteria based on simple fieldName / value mappings.
When passed to the Smart GWT Server, a server-side AdvancedCriteria instance (in the
package com.isomorphic.criteria) can be retrieved from a DSRequest via
com.isomorphic.datasource.DSRequest.getAdvancedCriteria(). These same AdvancedCriteria
objects can be directly created server side, and applied to a DSRequest via
setAdvancedCriteria().
Other servers may receive AdvancedCriteria in the most convenient format.
The internal representation of AdvancedCriteria is a simple JavaScript structure, available
via AdvancedCriteria.getJsObj():
// an AdvancedCriteria
{
_constructor:"AdvancedCriteria",
operator:"and",
criteria:[
// this is a Criterion
{ fieldName:"salary", operator:"lessThan", value:"80000" },
{ operator:"or", criteria:[
{ fieldName:"title", operator:"iContains", value:"Manager" },
{ fieldName:"reports", operator:"notNull" }
]
}
]
}
You can implement DataSource.transformRequest to translate
the JavaScript
AdvancedCriteria object directly into a SQL-like language, or serialize to XML using
DataSource.xmlSerialize.
See Criteria Editing for information about
editing AdvancedCriteria in a DynamicForm.
| Fields inherited from class com.smartgwt.client.core.JsObject |
jsObj |
|
Constructor Summary |
AdvancedCriteria()
|
AdvancedCriteria(Criterion c)
|
AdvancedCriteria(JavaScriptObject jsObj)
|
AdvancedCriteria(OperatorId operator)
|
AdvancedCriteria(OperatorId operator,
Criterion[] criterias)
|
AdvancedCriteria(String fieldName,
OperatorId operator)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
Boolean value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
Boolean[] value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
Date value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
Date[] value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
Float value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
Float[] value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
Integer value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
Integer[] value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
String value)
|
AdvancedCriteria(String fieldName,
OperatorId operator,
String[] value)
|
| Methods inherited from class com.smartgwt.client.data.Criterion |
addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, appendToCriterionList, buildCriterionFromList, getCriteria, getFieldName, getOperator, getValueAsBoolean, getValueAsDate, getValueAsFloat, getValueAsIntArray, getValueAsInteger, getValueAsString, getValueAsStringArray, markAdvancedCriteria, setFieldName, setOperator, unmarkAdvancedCriteria |
| Methods inherited from class com.smartgwt.client.core.DataClass |
doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, getJsObj, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AdvancedCriteria
public AdvancedCriteria()
AdvancedCriteria
public AdvancedCriteria(JavaScriptObject jsObj)
AdvancedCriteria
public AdvancedCriteria(Criterion c)
AdvancedCriteria
public AdvancedCriteria(OperatorId operator,
Criterion[] criterias)
AdvancedCriteria
public AdvancedCriteria(OperatorId operator)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
Integer value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
String value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
Float value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
Date value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
Boolean value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
Integer[] value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
String[] value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
Float[] value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
Date[] value)
AdvancedCriteria
public AdvancedCriteria(String fieldName,
OperatorId operator,
Boolean[] value)
getOrCreateRef
public static AdvancedCriteria getOrCreateRef(JavaScriptObject jsObj)