com.iphrase.runtime.query.constraint
Class DateTime.Range
java.lang.Object
|
+--com.iphrase.runtime.query.Feature
|
+--com.iphrase.runtime.query.constraint.Constraint
|
+--com.iphrase.runtime.query.constraint.DateTime.Range
- Enclosing class:
- DateTime
- public static class DateTime.Range
- extends Constraint
Represent a range-comparison DateTime constraint.
Method Summary |
java.lang.String |
getConstraintSubType()
|
java.lang.Object |
getValue()
Get the value associated with this constraint. |
boolean |
matches(Constraint c)
Determine whether this Constraint matches another. |
static Constraint |
newInstance(java.lang.String state)
Attempt to create a new DateTime.Range constraint from a OneStep serialization String . |
java.lang.String |
toString()
Serialize this constraint using the OneStep serialization format. |
Methods inherited from class com.iphrase.runtime.query.constraint.Constraint |
clearExplicit, clearHidden, clearNew, clearNotSerialized, clearPrePruned, clearRequired, clearState, equals, getConstraintLabel, getDisplayPrefix, getIsMentions, getState, getType, isExplicit, isHidden, isMentions, isNew, isNotSerialized, isPrePruned, isRangeConstraintType, isRequired, newInstance, newInstance, setExplicit, setHidden, setHidden, setNew, setNotSerialized, setPrePruned, setRequired, setState |
Methods inherited from class com.iphrase.runtime.query.Feature |
getId |
Methods inherited from class java.lang.Object |
getClass, hashCode, notify, notifyAll, wait, wait, wait |
DateTime.Range
public DateTime.Range(DateTime min,
DateTime max)
throws ArgumentError
- Construct a DateTime range constraint from two DateTime constraints.
Range comparisons come in four flavors, where n represents the feature
values that must satisify the inequality:
- x < n < y
- x <=n < y
- x < n <=y
- x <=n <=y
Here are the rules:
- Both DateTime arguments must constrain the same feature.
- If min (left side) is one of DateTime.{Lt,Lte} then max (right side)
must be one of DateTime.{Gt,Gte}.
- If min (left side) is one of DateTime.{Gt,Gte} then max (right side)
must be one of DateTime.{Lt,Lte}.
All other combinations will cause an ArgumentError exception to be thrown.
- Parameters:
min
- value for min side of the inequalitymax
- value for max side of the inequality- Throws:
ArgumentError
- for invalid min/max values
getValue
public java.lang.Object getValue()
- Get the value associated with this constraint.
Overrides
Constraint.getValue()
- Overrides:
getValue
in class Constraint
- Returns:
- Object value associated with this constraint
matches
public boolean matches(Constraint c)
- Determine whether this Constraint matches another.
- Overrides:
matches
in class Constraint
- Parameters:
c
- Constraint
to be matched against this- Returns:
true
if the two constraints are of the same type
and have identical fields except for their flags and label,
else false
.
toString
public java.lang.String toString()
- Serialize this constraint using the OneStep serialization format.
Overrides
Object.toString()
- Overrides:
toString
in class java.lang.Object
- Returns:
- OneStep serialization
String
of this constraint
getConstraintSubType
public java.lang.String getConstraintSubType()
- Overrides:
getConstraintSubType
in class Constraint
- Following copied from class:
com.iphrase.runtime.query.constraint.Constraint
- Returns:
- constraint subType
newInstance
public static Constraint newInstance(java.lang.String state)
throws ArgumentError
- Attempt to create a new DateTime.Range constraint from a OneStep serialization
String
.
- Parameters:
state
- OneStep serialization String
- Returns:
- deserialized
Constraint
instance - Throws:
ArgumentError
-