// Path: model/src/main/java/com/cookbook/tutorial/customization/Description.java
// public class Description {
// 
//     /**
//      *
//      */
//     private String name;
//     private int entityId;
//     private DataType dataType;
//     private boolean isQuerable;
//     private boolean isSortable;
//     private String innerType;
//     private List<Description> innerFields;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public DataType getDataType() {
//         return dataType;
//     }
// 
//     public void setDataType(DataType dataType) {
//         this.dataType = dataType;
//     }
// 
//     public boolean isQuerable() {
//         return isQuerable;
//     }
// 
//     public void setQuerable(boolean isQuerable) {
//         this.isQuerable = isQuerable;
//     }
// 
//     public boolean isSortable() {
//         return isSortable;
//     }
// 
//     public void setSortable(boolean isSortable) {
//         this.isSortable = isSortable;
//     }
// 
//     public String getInnerType() {
//         return innerType;
//     }
// 
//     public void setInnerType(String innerType) {
//         this.innerType = innerType;
//     }
// 
//     public List<Description> getInnerFields() {
//         return innerFields;
//     }
// 
//     public void setInnerFields(List<Description> innerFields) {
//         this.innerFields = innerFields;
//     }
// }
// 
// Path: model/src/main/java/com/cookbook/tutorial/model/CookBookEntity.java
// @XmlSeeAlso({ Ingredient.class, Recipe.class })
// public abstract class CookBookEntity {
// 
//     /**
//      * Unique identifier of an Entity
//      */
//     private Integer id;
// 
//     /**
//      * Date when it was created in the system.
//      */
//     private Date created;
// 
//     /**
//      * Date of the last time it was modified
//      */
//     private Date lastModified;
// 
//     /**
//      * Descriptive name of the entity.
//      */
//     private String name;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public Integer getId() {
//         return id;
//     }
// 
//     public void setId(Integer id) {
//         this.id = id;
//     }
// 
//     public Date getLastModified() {
//         return lastModified;
//     }
// 
//     public void setLastModified(Date lastModified) {
//         this.lastModified = lastModified;
//     }
// 
//     public Date getCreated() {
//         return created;
//     }
// 
//     public void setCreated(Date created) {
//         this.created = created;
//     }
// }
// 
// Path: model/src/main/java/com/cookbook/tutorial/model/Recipe.java
// public class Recipe extends CookBookEntity{
// 
//     /**
//      * List of ingredients required to make this recipe.
//      */
//     private List<Ingredient> ingredients;
// 
//     /**
//      * Estimated time required to prepare it.
//      */
//     private Double prepTime;
// 
//     /**
//      * Estimated time required to cook it.
//      */
//     private Double cookTime;
// 
//     /**
//      * List of steps that you need to follow in order to make this recipe.
//      */
//     private List<String> directions;
// 
//     public List<Ingredient> getIngredients() {
//         return ingredients;
//     }
// 
//     public void setIngredients(List<Ingredient> ingredients) {
//         this.ingredients = ingredients;
//     }
// 
//     public Double getPrepTime() {
//         return prepTime;
//     }
// 
//     public void setPrepTime(Double prepTime) {
//         this.prepTime = prepTime;
//     }
// 
//     public Double getCookTime() {
//         return cookTime;
//     }
// 
//     public void setCookTime(Double cookTime) {
//         this.cookTime = cookTime;
//     }
// 
//     public List<String> getDirections() {
//         return directions;
//     }
// 
//     public void setDirections(List<String> directions) {
//         this.directions = directions;
//     }
// }


import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.cookbook.tutorial.customization.Description;
import org.apache.cxf.annotations.WSDLDocumentation;
import com.cookbook.tutorial.model.CookBookEntity;
import com.cookbook.tutorial.model.Recipe;
import java.util.List;

/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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 com.cookbook.tutorial.service;




/**
 * Created by Mulesoft.
 */
@WebService
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public interface IMuleCookBookService {

    @WSDLDocumentation("Create an ingredient or recipe.")

// Path: model/src/main/java/com/cookbook/tutorial/customization/Description.java
// public class Description {
// 
//     /**
//      *
//      */
//     private String name;
//     private int entityId;
//     private DataType dataType;
//     private boolean isQuerable;
//     private boolean isSortable;
//     private String innerType;
//     private List<Description> innerFields;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public DataType getDataType() {
//         return dataType;
//     }
// 
//     public void setDataType(DataType dataType) {
//         this.dataType = dataType;
//     }
// 
//     public boolean isQuerable() {
//         return isQuerable;
//     }
// 
//     public void setQuerable(boolean isQuerable) {
//         this.isQuerable = isQuerable;
//     }
// 
//     public boolean isSortable() {
//         return isSortable;
//     }
// 
//     public void setSortable(boolean isSortable) {
//         this.isSortable = isSortable;
//     }
// 
//     public String getInnerType() {
//         return innerType;
//     }
// 
//     public void setInnerType(String innerType) {
//         this.innerType = innerType;
//     }
// 
//     public List<Description> getInnerFields() {
//         return innerFields;
//     }
// 
//     public void setInnerFields(List<Description> innerFields) {
//         this.innerFields = innerFields;
//     }
// }
// 
// Path: model/src/main/java/com/cookbook/tutorial/model/CookBookEntity.java
// @XmlSeeAlso({ Ingredient.class, Recipe.class })
// public abstract class CookBookEntity {
// 
//     /**
//      * Unique identifier of an Entity
//      */
//     private Integer id;
// 
//     /**
//      * Date when it was created in the system.
//      */
//     private Date created;
// 
//     /**
//      * Date of the last time it was modified
//      */
//     private Date lastModified;
// 
//     /**
//      * Descriptive name of the entity.
//      */
//     private String name;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public Integer getId() {
//         return id;
//     }
// 
//     public void setId(Integer id) {
//         this.id = id;
//     }
// 
//     public Date getLastModified() {
//         return lastModified;
//     }
// 
//     public void setLastModified(Date lastModified) {
//         this.lastModified = lastModified;
//     }
// 
//     public Date getCreated() {
//         return created;
//     }
// 
//     public void setCreated(Date created) {
//         this.created = created;
//     }
// }
// 
// Path: model/src/main/java/com/cookbook/tutorial/model/Recipe.java
// public class Recipe extends CookBookEntity{
// 
//     /**
//      * List of ingredients required to make this recipe.
//      */
//     private List<Ingredient> ingredients;
// 
//     /**
//      * Estimated time required to prepare it.
//      */
//     private Double prepTime;
// 
//     /**
//      * Estimated time required to cook it.
//      */
//     private Double cookTime;
// 
//     /**
//      * List of steps that you need to follow in order to make this recipe.
//      */
//     private List<String> directions;
// 
//     public List<Ingredient> getIngredients() {
//         return ingredients;
//     }
// 
//     public void setIngredients(List<Ingredient> ingredients) {
//         this.ingredients = ingredients;
//     }
// 
//     public Double getPrepTime() {
//         return prepTime;
//     }
// 
//     public void setPrepTime(Double prepTime) {
//         this.prepTime = prepTime;
//     }
// 
//     public Double getCookTime() {
//         return cookTime;
//     }
// 
//     public void setCookTime(Double cookTime) {
//         this.cookTime = cookTime;
//     }
// 
//     public List<String> getDirections() {
//         return directions;
//     }
// 
//     public void setDirections(List<String> directions) {
//         this.directions = directions;
//     }
// }


// Path: webservice/src/main/java/com/cookbook/tutorial/service/IMuleCookBookService.java
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.cookbook.tutorial.customization.Description;
import org.apache.cxf.annotations.WSDLDocumentation;
import com.cookbook.tutorial.model.CookBookEntity;
import com.cookbook.tutorial.model.Recipe;
import java.util.List;

/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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 com.cookbook.tutorial.service;




/**
 * Created by Mulesoft.
 */
@WebService
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public interface IMuleCookBookService {

    @WSDLDocumentation("Create an ingredient or recipe.")

    CookBookEntity create(@WebParam(name = "entity") CookBookEntity entity,
