package org.geotools.wms.v1_1_1.bindings;


import javax.xml.namespace.QName;

import org.geotools.data.ows.OperationType;
import org.geotools.data.ows.WMSRequest;
import org.geotools.data.wms.WMSOperationType;
import org.geotools.xml.AbstractComplexBinding;
import org.geotools.xml.ElementInstance;
import org.geotools.xml.Node;

/**
 * Binding object for the type :_Request.
 *
 * <p>
 *	<pre>
 *	 <code>
 *  &lt;xs:complexType name="_Request"&gt;
 *      &lt;xs:sequence&gt;
 *          &lt;xs:element ref="GetCapabilities"/&gt;
 *          &lt;xs:element ref="GetMap"/&gt;
 *          &lt;xs:element minOccurs="0" ref="GetFeatureInfo"/&gt;
 *          &lt;xs:element minOccurs="0" ref="DescribeLayer"/&gt;
 *          &lt;xs:element minOccurs="0" ref="GetLegendGraphic"/&gt;
 *          &lt;xs:element minOccurs="0" ref="GetStyles"/&gt;
 *          &lt;xs:element minOccurs="0" ref="PutStyles"/&gt;
 *      &lt;/xs:sequence&gt;
 *  &lt;/xs:complexType&gt; 
 *		
 *	  </code>
 *	 </pre>
 * </p>
 *
 * @generated
 */
public class _RequestBinding extends AbstractComplexBinding {

	/**
	 * @generated
	 */
	public QName getTarget() {
		return WMSV1_1_1._Request;
	}
	
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 *	
	 * @generated modifiable
	 */	
	public Class getType() {
		return WMSRequest.class;
	}
	
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 *	
	 * @generated modifiable
	 */	
	public Object parse(ElementInstance instance, Node node, Object value) 
		throws Exception {
		WMSRequest ret = new WMSRequest();
		ret.setGetCapabilities((OperationType)node.getChildValue("GetCapabilities"));
		ret.setDescribeLayer((OperationType)node.getChildValue("DescribeLayer"));
		ret.setGetFeatureInfo((OperationType)node.getChildValue("GetFeatureInfo"));
		ret.setGetLegendGraphic((OperationType)node.getChildValue("GetLegendGraphic"));
		ret.setGetMap((OperationType)node.getChildValue("GetMap"));
		ret.setGetStyles((OperationType)node.getChildValue("GetStyles"));
		ret.setPutStyles((OperationType)node.getChildValue("PutStyles"));
		return ret;
	}

}