Event Filtering
Adapters can be used for filtering out events that don’t meet certain criteria. The adapter would analyze the information contained in the event and decide whether to forward it to the target object. This could be useful when the event source generates many events and only a small number of them are interesting to the listener.
For example, let’s say that we were going to monitor the
temperature in our simulator with a special listener that is
interested only in temperature changes above or below certain values.
We could create an adapter that filters out all temperature change
events where the new temperature is between a low and a high
threshold value. The GenericTemperatureAdapter can
be easily modified to perform this task. The new adapter might be
called a GenericTemperatureThresholdAdapter. We
add data members to store the threshold temperatures and assign them
default values as follows:
protected double lowThreshold = 0.0; protected double highThreshold = 100.0;
Now we need a way to assign the threshold values. For our example, we
create methods for getting and setting these values. You’ll see
in Chapter 4, that these values represent
properties of the adapter. The new methods of the
GenericTemperatureThresholdAdapter look like this:
public void setLowThreshold (double low)
{
lowThreshold = low;
}
public double getLowThreshold()
{
return lowThreshold;
}
public void setHighThreshold(double high)
{
highThreshold = high;
}public double getHighThreshold() { return ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access