01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2005-2006, GeoTools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: */
16: package org.geotools.feature;
17:
18: import java.util.List;
19: import org.opengis.filter.Filter;
20:
21: /**
22: * An ordered List of Features.
23: * <p>
24: * A FeatureList is usually retrived from a FeatureCollection with the
25: * subCollection( Filter ) operation. How you ask - make use of Filter
26: * 1.1 sortBy.
27: * </p>
28: * <p>
29: * You may check to see if the result of subCollection( Filter ) is
30: * a FeatureList using an instanceof check. This often the case,
31: * when using not using sortBy the order is usually based on FID.
32: * </p>
33: *
34: * @author Jody Garnett, Refractions Research, Inc.
35: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/api/src/main/java/org/geotools/feature/FeatureList.java $
36: */
37: public interface FeatureList extends List, FeatureCollection {
38: /**
39: * Similar to subCollection, explicitly constructs a ordered List.
40: * <p>
41: * The list will be ordered:
42: * <ul>
43: * <li>As indicated using Filter 1.1 sortBy
44: * <li>occuring to their appearance in this FeatureList
45: * </ul>
46: * </p>
47: * @param filter
48: * @return FeatureList based on features selected by filter
49: */
50: FeatureList subList(Filter filter);
51: }
|