Package docking.widgets.table.constraint
Class RangeColumnConstraint<T>
- java.lang.Object
-
- docking.widgets.table.constraint.RangeColumnConstraint<T>
-
- Type Parameters:
T
- the column type
- All Implemented Interfaces:
ColumnConstraint<T>
,java.lang.Comparable<ColumnConstraint<T>>
- Direct Known Subclasses:
InDateRangeColumnConstraint
,InRangeColumnConstraint
,NotInDateRangeColumnConstraint
,NotInRangeColumnConstraint
public abstract class RangeColumnConstraint<T> extends java.lang.Object implements ColumnConstraint<T>
Abstract base class for range constraints.
-
-
Field Summary
Fields Modifier and Type Field Description protected EditorProvider<T>
editorProvider
protected java.lang.String
name
This constraints' name
-
Constructor Summary
Constructors Modifier Constructor Description protected
RangeColumnConstraint(java.lang.String name, T minValue, T maxValue, EditorProvider<T> editorProvider, java.lang.String group)
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract RangeColumnConstraint<T>
copy(T min, T max)
subclasses must override to generate new versions of themselves but with new range values.boolean
equals(java.lang.Object o)
java.lang.Class<T>
getColumnType()
Returns the column type that this constraint can be used to filter.java.lang.String
getConstraintValueString()
Returns the "value" of the constraint in string formColumnConstraintEditor<T>
getEditor(ColumnData<T> columnDataSource)
Returns a ColumnConstraintEditor which will provide gui components for users to edit the constraint values.java.lang.String
getGroup()
Returns a "group" string that is used to logically group column constraints for presentation to the userT
getMaxValue()
Returns the max value of the range used by this constraint.T
getMinValue()
Returns the min value of the range used by this constraint.java.lang.String
getName()
Returns the name of the constraintint
hashCode()
ColumnConstraint<T>
parseConstraintValue(java.lang.String newValue, java.lang.Object dataSource)
Parses the constraint value string for deserialization purposes.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface docking.widgets.table.constraint.ColumnConstraint
accepts, asString, compareTo, getConstraintValueTooltip
-
-
-
-
Field Detail
-
name
protected final java.lang.String name
This constraints' nameIt sometimes makes grammatical sense to set a more useful name than the default; while 'at least' makes sense for a number-based constraint, 'after' reads better for date-based constraints.
-
editorProvider
protected EditorProvider<T> editorProvider
-
-
Constructor Detail
-
RangeColumnConstraint
protected RangeColumnConstraint(java.lang.String name, T minValue, T maxValue, EditorProvider<T> editorProvider, java.lang.String group)
Constructor- Parameters:
name
- the name of the constraint.minValue
- the min value of the range.maxValue
- the max value of the range.editorProvider
- the editor provider that generates the appropriate editors for constraints of this type.group
- the group of the constraint for visual grouping when presenting to the user.
-
-
Method Detail
-
getGroup
public java.lang.String getGroup()
Description copied from interface:ColumnConstraint
Returns a "group" string that is used to logically group column constraints for presentation to the user- Specified by:
getGroup
in interfaceColumnConstraint<T>
- Returns:
- the group this constraint belongs to.
-
getName
public java.lang.String getName()
Description copied from interface:ColumnConstraint
Returns the name of the constraint- Specified by:
getName
in interfaceColumnConstraint<T>
- Returns:
- the name of the constraint.
-
getMinValue
public T getMinValue()
Returns the min value of the range used by this constraint.- Returns:
- the min value of the range used by this constraint.
-
getMaxValue
public T getMaxValue()
Returns the max value of the range used by this constraint.- Returns:
- the max value of the range used by this constraint.
-
getColumnType
public java.lang.Class<T> getColumnType()
Description copied from interface:ColumnConstraint
Returns the column type that this constraint can be used to filter.- Specified by:
getColumnType
in interfaceColumnConstraint<T>
- Returns:
- the column type
-
getEditor
public final ColumnConstraintEditor<T> getEditor(ColumnData<T> columnDataSource)
Description copied from interface:ColumnConstraint
Returns a ColumnConstraintEditor which will provide gui components for users to edit the constraint values.- Specified by:
getEditor
in interfaceColumnConstraint<T>
- Parameters:
columnDataSource
- This provides the constraint with access to the column data in the table model as well as the DataProvider of the table (if it has one)- Returns:
- A columnConstraintEditor for editing the constraints value.
-
getConstraintValueString
public java.lang.String getConstraintValueString()
Description copied from interface:ColumnConstraint
Returns the "value" of the constraint in string formThis is used for serializing the constraint.
- Specified by:
getConstraintValueString
in interfaceColumnConstraint<T>
- Returns:
- the "value" of the constraint in string form.
-
parseConstraintValue
public ColumnConstraint<T> parseConstraintValue(java.lang.String newValue, java.lang.Object dataSource)
Description copied from interface:ColumnConstraint
Parses the constraint value string for deserialization purposes.- Specified by:
parseConstraintValue
in interfaceColumnConstraint<T>
- Parameters:
newValue
- the value of the constraint in string form.dataSource
- the DataSource from the Table.- Returns:
- a new ColumnConstraint
-
copy
public abstract RangeColumnConstraint<T> copy(T min, T max)
subclasses must override to generate new versions of themselves but with new range values.- Parameters:
min
- the min value of the range.max
- the max value of the range.- Returns:
- a new ColumnConstraint that is the same type as this constraint but with a new range defined.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
-