/*
CloudTrail Viewer, is a Java desktop application for reading AWS CloudTrail logs
files.
Copyright (C) 2017 Mark P. Haskins
This program is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package io.haskins.java.cloudtrailviewer.filter;
import java.awt.*;
import java.util.*;
/**
*
* @author mark
*/
abstract class AbstractFilter implements Filter {
/** constant that defines the default dimension to be used by children */
final static Dimension DEFAULT_SIZE = new Dimension(345,30);
private final java.util.List<FilterListener> listeners = new ArrayList<>();
/** String to hold the value that should be used for filtering */
String needle = "";
////////////////////////////////////////////////////////////////////////////
// Filter implementation
////////////////////////////////////////////////////////////////////////////
@Override
public void setNeedle(String needle) {
this.needle = needle;
for (FilterListener l : listeners) {
l.onFilterChanged();
}
}
@Override
public String getNeedle() {
return this.needle;
}
@Override
public void addListener(FilterListener l) {
listeners.add(l);
}
}