Package com.im.df.api.dml
Class Operators.SimpleFieldValuesOperator
- java.lang.Object
-
- com.im.df.api.dml.DFOperator
-
- com.im.df.api.dml.Operators.SimpleFieldValuesOperator
-
- Direct Known Subclasses:
Operators.AfterOperator
,Operators.BeforeOperator
,Operators.BetweenOperator
,Operators.EqualsForDecimalsOperator
,Operators.ErrorOperator
,Operators.GeForDecimalsOperator
,Operators.IgnoreOperator
,Operators.LeForDecimalsOperator
,Operators.ListOperator
,Operators.NullOperator
,Operators.RelativeDateOperator
,Operators.ShortcutOperator
,Operators.SimpleTextOperator
- Enclosing class:
- Operators
public static class Operators.SimpleFieldValuesOperator extends DFOperator
Currently we support only "Field Operator [Value, [Value, ...]]" formats. So the operators will be improved later when we support more formats.
-
-
Constructor Summary
Constructors Constructor Description SimpleFieldValuesOperator(java.lang.String parsistName, java.lang.String displayName, int exactCountOfValues, java.lang.Class[] allowedCapabilities)
SimpleFieldValuesOperator(java.lang.String parsistName, java.lang.String displayName, int exactCountOfValues, java.lang.Class[] allowedCapabilities, boolean emptyStringAllowed)
SimpleFieldValuesOperator(java.lang.String persistName, java.lang.String displayName, java.lang.Class[] allowedCapabilities)
SimpleFieldValuesOperator(java.lang.String parsistName, java.lang.String displayName, java.lang.String displayNameInExpression, int minValues, int maxValues, java.lang.Class[] allowedCapabilities, boolean emptyStringAllowed)
SimpleFieldValuesOperator(java.lang.String parsistName, java.lang.String displayName, java.lang.String displayNameInExpression, int exactCountOfValues, java.lang.Class[] allowedCapabilities)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
getValidFormatMsg()
protected boolean
isEmptyStringAllowed()
boolean
isFieldAcceptableAsOperand(DFField field)
This is just an utility method which must be implemented by subclasses.java.lang.Object[]
parseOperands(DFField field, java.lang.String operands)
void
validate(DFDataTree dataTree, java.util.List<DFTerm> operands, java.util.Map<java.lang.String,java.lang.Object> options, TermErrors errors)
Validate the operands in context of this operator.-
Methods inherited from class com.im.df.api.dml.DFOperator
correctNumberOfOperands, getDisplayName, getDisplayNameInExpression, getMaxOperands, getMinOperands, getPersistName, getStartingWith, getStartingWithOperator, getToStringPart, toString, toString
-
-
-
-
Constructor Detail
-
SimpleFieldValuesOperator
public SimpleFieldValuesOperator(java.lang.String persistName, java.lang.String displayName, java.lang.Class[] allowedCapabilities)
-
SimpleFieldValuesOperator
public SimpleFieldValuesOperator(java.lang.String parsistName, java.lang.String displayName, int exactCountOfValues, java.lang.Class[] allowedCapabilities)
-
SimpleFieldValuesOperator
public SimpleFieldValuesOperator(java.lang.String parsistName, java.lang.String displayName, int exactCountOfValues, java.lang.Class[] allowedCapabilities, boolean emptyStringAllowed)
-
SimpleFieldValuesOperator
public SimpleFieldValuesOperator(java.lang.String parsistName, java.lang.String displayName, java.lang.String displayNameInExpression, int exactCountOfValues, java.lang.Class[] allowedCapabilities)
-
SimpleFieldValuesOperator
public SimpleFieldValuesOperator(java.lang.String parsistName, java.lang.String displayName, java.lang.String displayNameInExpression, int minValues, int maxValues, java.lang.Class[] allowedCapabilities, boolean emptyStringAllowed)
-
-
Method Detail
-
validate
public void validate(DFDataTree dataTree, java.util.List<DFTerm> operands, java.util.Map<java.lang.String,java.lang.Object> options, TermErrors errors)
Description copied from class:DFOperator
Validate the operands in context of this operator. It's up to operator to decide if it accepts the given operands or not. This method is called fromDFTerm.validate(com.im.df.api.ddl.DFDataTree)
.- Overrides:
validate
in classDFOperator
- Parameters:
dataTree
- The datatree where this operator will be usedoperands
- The list of operandsoptions
- Options of this query term (DFTermExpression.getOptions()
errors
- The errors object which contains the result of the validation
-
isEmptyStringAllowed
protected boolean isEmptyStringAllowed()
-
isFieldAcceptableAsOperand
public boolean isFieldAcceptableAsOperand(DFField field)
Description copied from class:DFOperator
This is just an utility method which must be implemented by subclasses. It tests if the given field is acceptable as operand for thisDFOperator
. It can return true even for fields which are recognized as invalid later. This is just rough test in the beginning of validation to filter inappropriate fields.For example some operator takes two operands of different types (text, integer,...), but both must be of the same type. In this case this method returns true for all text, integer etc. fields, but if you use combination of [text, integer] as operands, it will be invalid.
- Specified by:
isFieldAcceptableAsOperand
in classDFOperator
- Parameters:
field
- The field to be tested- Returns:
- True if field seems to be acceptable, false otherwise.
-
getValidFormatMsg
protected java.lang.String getValidFormatMsg()
-
parseOperands
public java.lang.Object[] parseOperands(DFField field, java.lang.String operands) throws java.lang.IllegalArgumentException
- Specified by:
parseOperands
in classDFOperator
- Throws:
java.lang.IllegalArgumentException
-
-