/[schmitzm]/trunk/src/skrueger/geotools/StyledFeaturesInterface.java
ViewVC logotype

Annotation of /trunk/src/skrueger/geotools/StyledFeaturesInterface.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1267 - (hide annotations)
Sat Nov 13 01:11:10 2010 UTC (14 years, 3 months ago) by alfonx
File MIME type: text/plain
File size: 3928 byte(s)
Hardcore refactored and worked on the new AtlasStyler features. It will be so much more powerfull. The code will be so much cleaner. It will be so much mre work ;-)
1 alfonx 244 /*******************************************************************************
2     * Copyright (c) 2009 Martin O. J. Schmitz.
3     *
4     * This file is part of the SCHMITZM library - a collection of utility
5 alfonx 256 * classes based on Java 1.6, focusing (not only) on Java Swing
6 alfonx 244 * and the Geotools library.
7     *
8     * The SCHMITZM project is hosted at:
9     * http://wald.intevation.org/projects/schmitzm/
10     *
11     * This program is free software; you can redistribute it and/or
12     * modify it under the terms of the GNU Lesser General Public License
13     * as published by the Free Software Foundation; either version 3
14     * of the License, or (at your option) any later version.
15     *
16     * This program is distributed in the hope that it will be useful,
17     * but WITHOUT ANY WARRANTY; without even the implied warranty of
18     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19     * GNU General Public License for more details.
20     *
21     * You should have received a copy of the GNU Lesser General Public License (license.txt)
22     * along with this program; if not, write to the Free Software
23     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24     * or try this link: http://www.gnu.org/licenses/lgpl.html
25     *
26     * Contributors:
27     * Martin O. J. Schmitz - initial API and implementation
28 alfonx 862 * Stefan A. Tzeggai - additional utility classes
29 alfonx 244 ******************************************************************************/
30 alfonx 221 package skrueger.geotools;
31    
32     import org.geotools.data.FeatureSource;
33 alfonx 226 import org.geotools.feature.FeatureCollection;
34 alfonx 324 import org.opengis.feature.simple.SimpleFeature;
35     import org.opengis.feature.simple.SimpleFeatureType;
36 alfonx 426 import org.opengis.filter.Filter;
37 alfonx 221
38 alfonx 1261 import schmitzm.geotools.feature.FeatureUtil.GeometryForm;
39 alfonx 769 import skrueger.AttributeMetadataImpl;
40    
41 alfonx 221 /**
42 alfonx 226 * This Interface combines all styled layers that are running on
43     * {@link FeatureCollection} or {@link FeatureSource}
44     *
45 alfonx 862 * @author Stefan A. Tzeggai
46 alfonx 226 *
47     * @param <T>
48     * The base Type returned in the getObject() method.
49 alfonx 221 */
50 alfonx 226 public interface StyledFeaturesInterface<T> extends StyledLayerInterface<T> {
51 alfonx 224
52 alfonx 769 public abstract AttributeMetadataMap<AttributeMetadataImpl> getAttributeMetaDataMap();
53 alfonx 226
54 alfonx 221 /**
55 alfonx 426 * @return The features of this layer as a {@link FeatureSource}. The filter
56     * is NOT automatically applied.
57 alfonx 221 */
58 alfonx 324 public FeatureSource<SimpleFeatureType, SimpleFeature> getFeatureSource();
59 alfonx 221
60     /**
61 alfonx 426 * @return The features of this layer as a {@link FeatureCollection}. The
62     * filter is NOT automatically applied.
63 alfonx 221 */
64 alfonx 324 public abstract FeatureCollection<SimpleFeatureType, SimpleFeature> getFeatureCollection();
65 alfonx 426
66     /**
67     * @return The features of this layer as a {@link FeatureCollection}. The
68     * associated Filter is automatically applied.
69     */
70     public abstract FeatureCollection<SimpleFeatureType, SimpleFeature> getFeatureCollectionFiltered();
71    
72     /**
73     * Stores Filter that is NOT automatically applied. <code>null</code> is not
74     * allowed, use Filter.INCLUDE.
75     */
76     public void setFilter(Filter filter);
77    
78     /**
79     * Returns the Filter a filter that is associated with this
80     * {@link StyledFeaturesInterface} Never shall return <code>null</code>, but
81     * rather Filter.INCLUDE.
82     */
83     public Filter getFilter();
84    
85     /**
86     * Returns the underlying GeoTools Object. The filter is NOT applied.
87     *
88     * @throws RuntimeException
89     *
90     * @deprected Please use {@link #getFeatureSource()} or
91     * {@link #getFeatureCollection()} so you save a cast
92     */
93     public T getGeoObject();
94    
95     /**
96     * @return As the fastest way to get the Schema is depending on the
97     * underlying geoObject (FeatureSource or FeatureCollection), this
98     * method shall be implemented in the classes.
99     */
100     public abstract SimpleFeatureType getSchema();
101    
102 alfonx 1267 /**
103     * @return can returns {@link GeometryForm#ANY} if the source is e.g. a GML
104     * mixed geometry collection.
105     */
106 alfonx 1261 public abstract GeometryForm getGeometryForm();
107    
108 alfonx 221 }

Properties

Name Value
svn:eol-style native
svn:keywords Id
svn:mime-type text/plain

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26