01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.commons.io.filefilter;
18:
19: import java.util.List;
20:
21: /**
22: * Defines operations for conditional file filters.
23: *
24: * @since Commons IO 1.1
25: * @version $Revision: 437567 $ $Date: 2006-08-28 08:39:07 +0200 (Mo, 28 Aug 2006) $
26: *
27: * @author Steven Caswell
28: */
29: public interface ConditionalFileFilter {
30:
31: /**
32: * Adds the specified file filter to the list of file filters at the end of
33: * the list.
34: *
35: * @param ioFileFilter the filter to be added
36: * @since Commons IO 1.1
37: */
38: public void addFileFilter(IOFileFilter ioFileFilter);
39:
40: /**
41: * Returns this conditional file filter's list of file filters.
42: *
43: * @return the file filter list
44: * @since Commons IO 1.1
45: */
46: public List getFileFilters();
47:
48: /**
49: * Removes the specified file filter.
50: *
51: * @param ioFileFilter filter to be removed
52: * @return <code>true</code> if the filter was found in the list,
53: * <code>false</code> otherwise
54: * @since Commons IO 1.1
55: */
56: public boolean removeFileFilter(IOFileFilter ioFileFilter);
57:
58: /**
59: * Sets the list of file filters, replacing any previously configured
60: * file filters on this filter.
61: *
62: * @param fileFilters the list of filters
63: * @since Commons IO 1.1
64: */
65: public void setFileFilters(List fileFilters);
66:
67: }
|