package com.rayo.server.filter; import java.util.ArrayList; import java.util.List; /** * <p>Base class for a filter chain. A filter chain will concatenate multiple * message filters. Therefore, when executing a filter on the filter chain, * the chain will take care of executing all the individual filters.</p> * * @author martin * */ abstract class AbstractListFilterChain implements FilterChain { List<MessageFilter> filters = new ArrayList<MessageFilter>(); @Override public List<MessageFilter> getFilters() { return new ArrayList<MessageFilter>(filters); } public void setFilters(List<MessageFilter> filters) { this.filters = filters; } @Override public void addFilter(int index, MessageFilter filter) { filters.add(index,filter); } @Override public void addFilter(MessageFilter filter) { filters.add(filter); } @Override public void clear() { filters.clear(); } @Override public void removeFilter(MessageFilter filter) { filters.remove(filter); } }