eTextReader.AnnotationListing
Class FieldFilter

java.lang.Object
  extended by eTextReader.AnnotationListing.FieldFilter
All Implemented Interfaces:
NotationFilter

public class FieldFilter
extends java.lang.Object
implements NotationFilter

This class is a Filter that evaluates some predicate on the given Notation field. Notations that satisfy the predicate condition are included by the filter, while those that do not satisfy the condition are not included.

Author:
mcfall

Field Summary
private  java.lang.String field
           
private  Predicate predicate
           
 
Constructor Summary
FieldFilter(java.lang.String field, Predicate predicate)
           
 
Method Summary
 java.lang.String getDescription()
          Retrieves a description of this filter, used to display information about this filter in a menu item, button, etc.
 java.lang.String getEndDate()
          Retrieves the ending date for notations that match this filter.
 java.lang.String getStartDate()
          Retrieves the starting date for notations that match this filter.
 boolean include(Notation n)
          Determines whether the notation n matches the criteria for inclusion provided by this filter
 boolean isDateFilter()
          Determines whether this filter includes a date component; used to restrict the annotations returned by requestViewableAnnotations
 void setValue(java.lang.Object newValue)
          Changes the value that is tested for equality by this filter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

field

private java.lang.String field

predicate

private Predicate predicate
Constructor Detail

FieldFilter

public FieldFilter(java.lang.String field,
                   Predicate predicate)
Method Detail

getEndDate

public java.lang.String getEndDate()
Description copied from interface: NotationFilter
Retrieves the ending date for notations that match this filter. If isDateFilter returns false, this method must return null

Specified by:
getEndDate in interface NotationFilter
Returns:
the ending date associated with the filter, or null if not applicable

getStartDate

public java.lang.String getStartDate()
Description copied from interface: NotationFilter
Retrieves the starting date for notations that match this filter. If getStartDate in interface NotationFilter
Returns:
the starting date associated with the filter, or null if not applicable

include

public boolean include(Notation n)
Description copied from interface: NotationFilter
Determines whether the notation n matches the criteria for inclusion provided by this filter

Specified by:
include in interface NotationFilter
Parameters:
n - the notation to filter
Returns:

isDateFilter

public boolean isDateFilter()
Description copied from interface: NotationFilter
Determines whether this filter includes a date component; used to restrict the annotations returned by requestViewableAnnotations

Specified by:
isDateFilter in interface NotationFilter
Returns:
true if this filter includes a date range component, false otherwise

setValue

public void setValue(java.lang.Object newValue)
Changes the value that is tested for equality by this filter

Parameters:
newValue - the newValue that notations must match in order to be included by this filter

getDescription

public java.lang.String getDescription()
Description copied from interface: NotationFilter
Retrieves a description of this filter, used to display information about this filter in a menu item, button, etc. Examples would be etc.

Specified by:
getDescription in interface NotationFilter
Returns:
a String description of this filter