org.jdesktop.swingx.decorator
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:
AbstractHighlighter

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

ALWAYS

static final HighlightPredicate ALWAYS
Unconditional true.


NEVER

static final HighlightPredicate NEVER
Unconditional false.


ROLLOVER_ROW

static final HighlightPredicate ROLLOVER_ROW
Rollover Row.


EDITABLE

static final HighlightPredicate EDITABLE
Is editable.


READ_ONLY

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


IS_LEAF

static final HighlightPredicate IS_LEAF
Leaf predicate.


IS_FOLDER

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


HAS_FOCUS

static final HighlightPredicate HAS_FOCUS
Focus predicate.


EVEN

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


ODD

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?


BIG_DECIMAL_NEGATIVE

static final HighlightPredicate BIG_DECIMAL_NEGATIVE
Negative BigDecimals.


INTEGER_NEGATIVE

static final HighlightPredicate INTEGER_NEGATIVE
Negative Number.


EMPTY_PREDICATE_ARRAY

static final HighlightPredicate[] EMPTY_PREDICATE_ARRAY

EMPTY_OBJECT_ARRAY

static final Object[] EMPTY_OBJECT_ARRAY

EMPTY_INTEGER_ARRAY

static final Integer[] EMPTY_INTEGER_ARRAY
Method Detail

isHighlighted

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!

Parameters:
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
Returns:
a boolean to indicate whether the component should be highlighted.