/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.wfs.xml.v1_0_0;
import javax.xml.namespace.QName;
import net.opengis.wfs.DescribeFeatureTypeType;
import net.opengis.wfs.WfsFactory;
import org.geotools.xml.AbstractComplexBinding;
import org.geotools.xml.ElementInstance;
import org.geotools.xml.Node;
/**
* Binding object for the type http://www.opengis.net/wfs:DescribeFeatureTypeType.
*
* <p>
* <pre>
* <code>
* <xsd:complexType name="DescribeFeatureTypeType">
* <xsd:annotation>
* <xsd:documentation> The DescribeFeatureType
* operation allows a client application to request
* that a Web Feature Service describe one or more
* feature types. A Web Feature Service must be able to
* generate feature descriptions as valid GML2
* application schemas. The schemas generated by
* the DescribeFeatureType operation can be used by
* a client application to validate the output.
* Feature instances within the WFS interface must be specified
* using GML2. The schema of feature instances specified
* within the WFS interface must validate against
* the feature schemas generated by the
* DescribeFeatureType request. </xsd:documentation>
* </xsd:annotation> <xsd:sequence> <xsd:element
* maxOccurs="unbounded" minOccurs="0" name="TypeName"
* type="xsd:QName"> <xsd:annotation>
* <xsd:documentation> The TypeName
* element is used to enumerate the feature types
* to be described. If no TypeName elements are
* specified then all features should
* be described. </xsd:documentation>
* </xsd:annotation> </xsd:element>
* </xsd:sequence> <xsd:attribute fixed="1.0.0" name="version"
* type="xsd:string" use="required"/> <xsd:attribute
* fixed="WFS" name="service" type="xsd:string" use="required"/>
* <xsd:attribute default="XMLSCHEMA" name="outputFormat"
* type="xsd:string" use="optional"> <xsd:annotation>
* <xsd:documentation> The outputFormat
* attribute is used to specify what schema
* description language should be used to describe
* features. The default value of XMLSCHEMA
* means that the Web Feature Service must
* generate a GML2 application schema that can
* be used to validate the GML2 output of a GetFeature
* request or feature instances specified in
* Transaction operations. </xsd:documentation>
* </xsd:annotation> </xsd:attribute> </xsd:complexType>
*
* </code>
* </pre>
* @generated
*/
public class DescribeFeatureTypeTypeBinding extends AbstractComplexBinding {
WfsFactory wfsfactory;
public DescribeFeatureTypeTypeBinding(WfsFactory wfsfactory) {
this.wfsfactory = wfsfactory;
}
/**
* @generated
*/
public QName getTarget() {
return WFS.DESCRIBEFEATURETYPETYPE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @generated modifiable
*/
public Class getType() {
return DescribeFeatureTypeType.class;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @generated modifiable
*/
public Object parse(ElementInstance instance, Node node, Object value)
throws Exception {
DescribeFeatureTypeType describeFeatureType = wfsfactory
.createDescribeFeatureTypeType();
WFSBindingUtils.service(describeFeatureType, node);
WFSBindingUtils.version(describeFeatureType, node);
WFSBindingUtils.outputFormat(describeFeatureType, node, "XMLSCHEMA");
describeFeatureType.getTypeName().addAll(node.getChildValues(QName.class));
return describeFeatureType;
}
}