/*-
 * Copyright 2021 Hochschule für Technik Stuttgart
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package de.hft.stuttgart.ade.foodwaterenergycitygml4j.landuse.model.xsd;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;

import de.hft.stuttgart.ade.foodwaterenergycitygml4j.module.FoodWaterEnergyLandUseADEModule;


@XmlRegistry
public class ObjectFactory {

	private static final QName FOODWATERENERGY_QNAME = new QName(FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, "foodwaterenergy");
	private static final QName CONSISTSOFFWESURVEY_QNAME = new QName(FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, "consistsOfFWESurvey");
	private static final QName LandUseSurvey_QNAME = new QName(FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, "LandUseSurvey");
	private static final QName FoodSurvey_QNAME = new QName(FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, "FoodSurvey");
	private static final QName WaterSurvey_QNAME = new QName(FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, "WaterSurvey");
	private static final QName EnergySurvey_QNAME = new QName(FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, "EnergySurvey");
	
	 public FoodWaterEnergyType createFoodWaterEnergyType() {
			return new FoodWaterEnergyType();
		}
	 public ConsistsOfFWESurveyType createConsistsOfFWESurveyType() {
			return new ConsistsOfFWESurveyType();
		}
	 
	 public LandUseSurveyType createLandUseSurveyType() {
			return new LandUseSurveyType();
		}
	 
	 public FoodSurveyType createFoodSurveyType() {
			return new FoodSurveyType();
		}

	 public WaterSurveyType createWaterSurveyType() {
			return new WaterSurveyType();
		}
	 
	 public EnergySurveyType createEnergySurveyType() {
			return new EnergySurveyType();
		}

	@XmlElementDecl(namespace = FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, name = "foodwaterenergy", substitutionHeadNamespace = "http://www.opengis.net/citygml/landuse/2.0", substitutionHeadName = "_GenericApplicationPropertyOfLandUse")
	public JAXBElement<FoodWaterEnergyType> createFoodWaterEnergyType(FoodWaterEnergyType type) {
			return new JAXBElement<>(FOODWATERENERGY_QNAME, FoodWaterEnergyType.class, type);
		}
	
	@XmlElementDecl(namespace = FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, name = "consistsOfFWESurvey" ,substitutionHeadNamespace = "http://transfer.hft-stuttgart.de/pages/in-source/fwe-ade/FWELanduse/v2.1.1/XSD", substitutionHeadName = "foodwaterenergy")
	public JAXBElement<ConsistsOfFWESurveyType> createFConsistsOfFWESurveyType(ConsistsOfFWESurveyType type) {
			return new JAXBElement<>(CONSISTSOFFWESURVEY_QNAME, ConsistsOfFWESurveyType.class, type);
		}

	@XmlElementDecl(namespace = FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, name = "LandUseSurvey" ,substitutionHeadNamespace = "http://transfer.hft-stuttgart.de/pages/in-source/fwe-ade/FWELanduse/v2.1.1/XSD", substitutionHeadName = "consistsOfFWESurvey")
	public JAXBElement<LandUseSurveyType> createLandUseSurveyType(LandUseSurveyType type) {
			return new JAXBElement<>(LandUseSurvey_QNAME, LandUseSurveyType.class, type);
		}
	
	@XmlElementDecl(namespace = FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, name = "FoodSurvey", substitutionHeadNamespace = "http://transfer.hft-stuttgart.de/pages/in-source/fwe-ade/FWELanduse/v2.1.1/XSD", substitutionHeadName = "LandUseSurvey")
	public JAXBElement<FoodSurveyType> createFoodSurveyType(FoodSurveyType type) {
			return new JAXBElement<>(FoodSurvey_QNAME, FoodSurveyType.class, type);
		}
	

	@XmlElementDecl(namespace = FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, name = "WaterSurvey",substitutionHeadNamespace = "http://transfer.hft-stuttgart.de/pages/in-source/fwe-ade/FWELanduse/v2.1.1/XSD", substitutionHeadName = "LandUseSurvey")
	public JAXBElement<WaterSurveyType> createWaterSurveyType(WaterSurveyType type) {
			return new JAXBElement<>(WaterSurvey_QNAME, WaterSurveyType.class, type);
		}
	

	@XmlElementDecl(namespace = FoodWaterEnergyLandUseADEModule.NAMESPACE_URI, name = "EnergySurvey",substitutionHeadNamespace = "http://transfer.hft-stuttgart.de/pages/in-source/fwe-ade/FWELanduse/v2.1.1/XSD", substitutionHeadName = "LandUseSurvey")
	public JAXBElement<EnergySurveyType> createEnergySurveyType(EnergySurveyType type) {
			return new JAXBElement<>(EnergySurvey_QNAME, EnergySurveyType.class, type);
		}	
}
