001: /*
002: * GeoTools - OpenSource mapping toolkit
003: * http://geotools.org
004: * (C) 2002-2006, GeoTools Project Managment Committee (PMC)
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation;
009: * version 2.1 of the License.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: */
016: package org.geotools.sld.bindings;
017:
018: import org.picocontainer.MutablePicoContainer;
019: import org.w3c.dom.Document;
020: import org.w3c.dom.Element;
021: import javax.xml.namespace.QName;
022: import org.geotools.styling.NamedStyle;
023: import org.geotools.styling.StyleFactory;
024: import org.geotools.xml.*;
025:
026: /**
027: * Binding object for the element http://www.opengis.net/sld:NamedStyle.
028: *
029: * <p>
030: * <pre>
031: * <code>
032: * <xsd:element name="NamedStyle">
033: * <xsd:annotation>
034: * <xsd:documentation> A NamedStyle is used to refer to a
035: * style that has a name in a WMS. </xsd:documentation>
036: * </xsd:annotation>
037: * <xsd:complexType>
038: * <xsd:sequence>
039: * <xsd:element ref="sld:Name"/>
040: * </xsd:sequence>
041: * </xsd:complexType>
042: * </xsd:element>
043: *
044: * </code>
045: * </pre>
046: * </p>
047: *
048: * @generated
049: */
050: public class SLDNamedStyleBinding extends AbstractComplexBinding {
051: StyleFactory styleFactory;
052:
053: public SLDNamedStyleBinding(StyleFactory styleFactory) {
054: this .styleFactory = styleFactory;
055: }
056:
057: /**
058: * @generated
059: */
060: public QName getTarget() {
061: return SLD.NAMEDSTYLE;
062: }
063:
064: /**
065: * <!-- begin-user-doc -->
066: * <!-- end-user-doc -->
067: *
068: * @generated modifiable
069: */
070: public int getExecutionMode() {
071: return AFTER;
072: }
073:
074: /**
075: * <!-- begin-user-doc -->
076: * <!-- end-user-doc -->
077: *
078: * @generated modifiable
079: */
080: public Class getType() {
081: return NamedStyle.class;
082: }
083:
084: /**
085: * <!-- begin-user-doc -->
086: * <!-- end-user-doc -->
087: *
088: * @generated modifiable
089: */
090: public void initialize(ElementInstance instance, Node node,
091: MutablePicoContainer context) {
092: }
093:
094: /**
095: * <!-- begin-user-doc -->
096: * <!-- end-user-doc -->
097: *
098: * @generated modifiable
099: */
100: public Object parse(ElementInstance instance, Node node,
101: Object value) throws Exception {
102: NamedStyle namedStyle = styleFactory.createNamedStyle();
103: namedStyle.setName((String) node.getChildValue("Name"));
104:
105: return namedStyle;
106: }
107: }
|