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.styling;
17:
18: import org.geotools.data.DataStore;
19: import org.geotools.feature.FeatureType;
20:
21: /**
22: * A UserLayer allows a user-defined layer to be built from WFS and WCS data.
23: *
24: * <p>
25: * The details of this object are taken from the <a
26: * href="https://portal.opengeospatial.org/files/?artifact_id=1188"> OGC
27: * Styled-Layer Descriptor Report (OGC 02-070) version 1.0.0.</a>:
28: * <pre><code>
29: * <xsd:element name="UserLayer">
30: * <xsd:annotation>
31: * <xsd:documentation>
32: * A UserLayer allows a user-defined layer to be built from WFS and
33: * WCS data.
34: * </xsd:documentation>
35: * </xsd:annotation>
36: * <xsd:complexType>
37: * <xsd:sequence>
38: * <xsd:element ref="sld:Name" minOccurs="0"/>
39: * <xsd:element ref="sld:RemoteOWS" minOccurs="0"/>
40: * <xsd:element ref="sld:LayerFeatureConstraints"/>
41: * <xsd:element ref="sld:UserStyle" maxOccurs="unbounded"/>
42: * </xsd:sequence>
43: * </xsd:complexType>
44: * </xsd:element>
45: * </code></pre>
46: * </p>
47: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/api/src/main/java/org/geotools/styling/UserLayer.java $
48: */
49: public interface UserLayer extends StyledLayer {
50: public RemoteOWS getRemoteOWS();
51:
52: public DataStore getInlineFeatureDatastore();
53:
54: public FeatureType getInlineFeatureType();
55:
56: public void setInlineFeatureDatastore(DataStore store);
57:
58: public void setInlineFeatureType(FeatureType ft);
59:
60: public void setRemoteOWS(RemoteOWS service);
61:
62: public FeatureTypeConstraint[] getLayerFeatureConstraints();
63:
64: public void setLayerFeatureConstraints(
65: FeatureTypeConstraint[] constraints);
66:
67: public Style[] getUserStyles();
68:
69: public void setUserStyles(Style[] styles);
70:
71: public void addUserStyle(Style style);
72:
73: /**
74: * Used to navigate a Style/SLD.
75: *
76: * @param visitor
77: */
78: void accept(StyleVisitor visitor);
79: }
|