Interface HighlightPredicate

All Known Implementing Classes:
HighlightPredicate.AndHighlightPredicate, HighlightPredicate.ColumnHighlightPredicate, HighlightPredicate.DepthHighlightPredicate, HighlightPredicate.EqualsHighlightPredicate, HighlightPredicate.IdentifierHighlightPredicate, HighlightPredicate.NotHighlightPredicate, HighlightPredicate.OrHighlightPredicate, HighlightPredicate.RowGroupHighlightPredicate, HighlightPredicate.TypeHighlightPredicate, PatternPredicate, SearchPredicate

public interface HighlightPredicate

A controller which decides whether or not a visual decoration should be applied to the given Component in the given ComponentAdapter state. This is a on/off decision only, the actual decoration is left to the AbstractHighlighter which typically respects this predicate.

Note: implementations should be immutable because Highlighters guarantee to notify listeners on any state change which might effect the highlight. They can't comply to that contract if predicate internal state changes under their feet. If dynamic predicate state is required, the safe alternative is to create and set a new predicate.

See Also:

Nested Class Summary
static class HighlightPredicate.AndHighlightPredicate
          Ands a list of predicates.
static class HighlightPredicate.ColumnHighlightPredicate
          A HighlightPredicate based on column index.
static class HighlightPredicate.DepthHighlightPredicate
          A HighlightPredicate based on adapter depth.
static class HighlightPredicate.EqualsHighlightPredicate
          Predicate testing the componentAdapter value against a fixed Object.
static class HighlightPredicate.IdentifierHighlightPredicate
          A HighlightPredicate based on column identifier.
static class HighlightPredicate.NotHighlightPredicate
          Negation of a HighlightPredicate.
static class HighlightPredicate.OrHighlightPredicate
          Or's a list of predicates.
static class HighlightPredicate.RowGroupHighlightPredicate
static class HighlightPredicate.TypeHighlightPredicate
          Predicate testing the componentAdapter value type against a given Clazz.
Field Summary
static HighlightPredicate ALWAYS
          Unconditional true.
static HighlightPredicate BIG_DECIMAL_NEGATIVE
          Negative BigDecimals.
static HighlightPredicate EDITABLE
          Is editable.
static Integer[] EMPTY_INTEGER_ARRAY
static Object[] EMPTY_OBJECT_ARRAY
static HighlightPredicate[] EMPTY_PREDICATE_ARRAY
static HighlightPredicate EVEN
          Even rows.
static HighlightPredicate HAS_FOCUS
          Focus predicate.
static HighlightPredicate INTEGER_NEGATIVE
          Negative Number.
static HighlightPredicate IS_FOLDER
          Folder predicate - convenience: same as !IS_LEAF.
static HighlightPredicate IS_LEAF
          Leaf predicate.
static HighlightPredicate NEVER
          Unconditional false.
static HighlightPredicate ODD
          Odd rows.
static HighlightPredicate READ_ONLY
          Convenience for read-only (same as !editable).
static HighlightPredicate ROLLOVER_ROW
          Rollover Row.
Method Summary
 boolean isHighlighted(Component renderer, ComponentAdapter adapter)
          Returns a boolean to indicate whether the component should be highlighted.

Field Detail


static final HighlightPredicate ALWAYS
Unconditional true.


static final HighlightPredicate NEVER
Unconditional false.


static final HighlightPredicate ROLLOVER_ROW
Rollover Row.


static final HighlightPredicate EDITABLE
Is editable.


static final HighlightPredicate READ_ONLY
Convenience for read-only (same as !editable).


static final HighlightPredicate IS_LEAF
Leaf predicate.


static final HighlightPredicate IS_FOLDER
Folder predicate - convenience: same as !IS_LEAF.


static final HighlightPredicate HAS_FOCUS
Focus predicate.


static final HighlightPredicate EVEN
Even rows. PENDING: this is zero based (that is "really" even 0, 2, 4 ..), differing from the old AlternateRowHighlighter.


static final HighlightPredicate ODD
Odd rows. PENDING: this is zero based (that is 1, 3, 4 ..), differs from the old implementation which was one based?


static final HighlightPredicate BIG_DECIMAL_NEGATIVE
Negative BigDecimals.


static final HighlightPredicate INTEGER_NEGATIVE
Negative Number.


static final HighlightPredicate[] EMPTY_PREDICATE_ARRAY


static final Object[] EMPTY_OBJECT_ARRAY


static final Integer[] EMPTY_INTEGER_ARRAY
Method Detail


boolean isHighlighted(Component renderer,
                      ComponentAdapter adapter)
Returns a boolean to indicate whether the component should be highlighted.

Note: both parameters should be considered strictly read-only!

renderer - the cell renderer component that is to be decorated, must not be null
adapter - the ComponentAdapter for this decorate operation, most not be null
a boolean to indicate whether the component should be highlighted.