public abstract class AttributeCriterion extends Criterion
A search field contains various parts such as a label, a list of operators that are relevant to its attribute's type, one or more value fields (date or number support searching between ranges for e.g.).
This interface defines a contract that a model implementor needs to support to facilitate displaying such a search field.
Modifier and Type | Class and Description |
---|---|
static class |
AttributeCriterion.RequiredType
Defines the possible values for the required attribute of a Criterion
|
Constructor and Description |
---|
AttributeCriterion() |
Modifier and Type | Method and Description |
---|---|
abstract AttributeDescriptor |
getAttribute()
Returns the AttributeDescriptor instance that this Criterion is based on.
|
AttributeDescriptor.ComponentType |
getComponentType(AttributeDescriptor.Operator operator)
Returns the component type to be used to render the criterion's value field(s) based on the operator that is passed in.
|
String |
getFieldOrder()
Retrieves a special order of this Criterion object in the List of Criterions returned by ConjunctionCriterion.getCriterionList().
|
String |
getGroupName()
Returns the name of the group that contains this attribute criterion object null otherwise.
|
boolean |
getMatchCase()
getMatchCase
|
List<? extends Object> |
getModelList()
Returns a list of model objects to be used by the operands of a criterion.
|
abstract AttributeDescriptor.Operator |
getOperator()
Gets the default operator to use for the search field.
|
abstract Map<String,AttributeDescriptor.Operator> |
getOperators()
Gets a map of operators supported by a criterion.
|
AttributeCriterion.RequiredType |
getRequired() |
Object |
getValue()
Returns the value for a filter field.
|
abstract List<? extends Object> |
getValues()
Returns a list of values to be used for a search field.
|
boolean |
hasDependentCriterion(int index)
Returns true if this criterion instance has dependent criterion.
|
abstract boolean |
isRemovable()
Whether the criterion can be removed.
|
void |
setFieldOrder(String fieldOrder)
Sets the order of this Criterion Object in the List of Criterions returned by ConjunctionCriterion.getCriterionList().
|
void |
setGroupName(String groupName)
Sets the group name for this Criterion object.
|
void |
setMatchCase(boolean matchCase)
setMatchCase
|
abstract void |
setOperator(AttributeDescriptor.Operator operator)
Sets a value for the operator to use for a search field when performing a query.
|
void |
setRequired(AttributeCriterion.RequiredType required)
setRequired
|
void |
setValue(Object value)
sets the value for a filter field.
|
public abstract AttributeDescriptor getAttribute()
public List<? extends Object> getModelList()
For e.g. in EL notation, modelList[0] should return the model object for the first operand; modelList[1] should return the model object for the second operand etc. The type of the model object returned is based on the component type of the attribute. See below for details.
public AttributeDescriptor.ComponentType getComponentType(AttributeDescriptor.Operator operator)
operator
- the Operator instance for which the ComponentType needs to be determined.public boolean hasDependentCriterion(int index)
index
- value indicating the position of the criterion's operand.public abstract AttributeDescriptor.Operator getOperator()
public abstract Map<String,AttributeDescriptor.Operator> getOperators()
public abstract List<? extends Object> getValues()
This is used when search fields display more than one value component for entry. For e.g., when searching between a range of values it is often required to present 2 entry fields for users to enter the range.For boolean data type if the componentType happens to be selectBooleanCheckbox, a List with a single element containing a Boolean value is expected.
public Object getValue()
This is used for filter fields where only one value can be bound to a field. The default implementation deletages to the getValues with index 0 for backward compatibility
public void setValue(Object value)
This is used for filter fields where only one value can be bound to a field. The default implementation delegates to the getValues with index 0 for backward compatibility
public abstract boolean isRemovable()
public abstract void setOperator(AttributeDescriptor.Operator operator)
operator
- an OperatorTypepublic String getGroupName()
public void setGroupName(String groupName)
groupName
-public void setMatchCase(boolean matchCase)
matchCase
- Sets a value for matchCase for a search field.public boolean getMatchCase()
public void setRequired(AttributeCriterion.RequiredType required)
required
- sets a value for the required condition of a search field. A search field can either be required or selectively required with other fields or could be optional "required" - mandatory search field "selectively required" - selectively required with other fields "not required" - non mandatory search fieldpublic AttributeCriterion.RequiredType getRequired()
public String getFieldOrder()
public void setFieldOrder(String fieldOrder)
fieldOrder
- e.g. 0.0, 1.0, 2.0 etc