01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2002-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: /**
19: * A NamedLayer is used to refer to a layer that has a name in a WMS.
20: *
21: * <p>
22: * The details of this object are taken from the <a
23: * href="https://portal.opengeospatial.org/files/?artifact_id=1188"> OGC
24: * Styled-Layer Descriptor Report (OGC 02-070) version 1.0.0.</a>:
25: * <pre><code>
26: * <xsd:element name="NamedLayer">
27: * <xsd:annotation>
28: * <xsd:documentation>
29: * A NamedLayer is a layer of data that has a name advertised by a WMS.
30: * </xsd:documentation>
31: * </xsd:annotation>
32: * <xsd:complexType>
33: * <xsd:sequence>
34: * <xsd:element ref="sld:Name"/>
35: * <xsd:element ref="sld:LayerFeatureConstraints" minOccurs="0"/>
36: * <xsd:choice minOccurs="0" maxOccurs="unbounded">
37: * <xsd:element ref="sld:NamedStyle"/>
38: * <xsd:element ref="sld:UserStyle"/>
39: * </xsd:choice>
40: * </xsd:sequence>
41: * </xsd:complexType>
42: * </xsd:element>
43: * </code></pre>
44: * </p>
45: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/api/src/main/java/org/geotools/styling/NamedLayer.java $
46: */
47: public interface NamedLayer extends StyledLayer {
48: public FeatureTypeConstraint[] getLayerFeatureConstraints();
49:
50: public void setLayerFeatureConstraints(
51: FeatureTypeConstraint[] constraints);
52:
53: public Style[] getStyles();
54:
55: public void addStyle(Style sl);
56:
57: /**
58: * Used to navigate a Style/SLD.
59: *
60: * @param visitor
61: */
62: void accept(StyleVisitor visitor);
63: }
|