//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2020.11.09 at 03:29:54 PM CST 
//

package com.webank.wecube.platform.core.service.plugin.xml.register;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;

/**
 * <p>
 * Java class for interfaceType complex type.
 * 
 * <p>
 * The following schema fragment specifies the expected content contained within
 * this class.
 * 
 * <pre>
 * &lt;complexType name="interfaceType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="inputParameters" type="{}inputParametersType" minOccurs="0"/>
 *         &lt;element name="outputParameters" type="{}outputParametersType" minOccurs="0"/>
 *       &lt;/sequence>
 *       &lt;attribute name="action" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="path" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="httpMethod" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="isAsyncProcessing" type="{http://www.w3.org/2001/XMLSchema}string" default="N" />
 *       &lt;attribute name="filterRule" type="{http://www.w3.org/2001/XMLSchema}string" default="" />
 *       &lt;attribute name="type">
 *         &lt;simpleType>
 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *             &lt;enumeration value="APPROVAL"/>
 *             &lt;enumeration value="EXECUTION"/>
 *           &lt;/restriction>
 *         &lt;/simpleType>
 *       &lt;/attribute>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "interfaceType", propOrder = { "inputParameters", "outputParameters" })
public class InterfaceType {

    protected InputParametersType inputParameters;
    protected OutputParametersType outputParameters;
    @XmlAttribute(name = "action")
    protected String action;
    @XmlAttribute(name = "path")
    protected String path;
    @XmlAttribute(name = "httpMethod")
    protected String httpMethod;
    @XmlAttribute(name = "isAsyncProcessing")
    protected String isAsyncProcessing;
    @XmlAttribute(name = "filterRule")
    protected String filterRule;
    @XmlAttribute(name = "type")
    protected String type;

    @XmlAttribute(name = "description")
    protected String description;

    /**
     * Gets the value of the inputParameters property.
     * 
     * @return possible object is {@link InputParametersType }
     * 
     */
    public InputParametersType getInputParameters() {
        return inputParameters;
    }

    /**
     * Sets the value of the inputParameters property.
     * 
     * @param value
     *            allowed object is {@link InputParametersType }
     * 
     */
    public void setInputParameters(InputParametersType value) {
        this.inputParameters = value;
    }

    /**
     * Gets the value of the outputParameters property.
     * 
     * @return possible object is {@link OutputParametersType }
     * 
     */
    public OutputParametersType getOutputParameters() {
        return outputParameters;
    }

    /**
     * Sets the value of the outputParameters property.
     * 
     * @param value
     *            allowed object is {@link OutputParametersType }
     * 
     */
    public void setOutputParameters(OutputParametersType value) {
        this.outputParameters = value;
    }

    /**
     * Gets the value of the action property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getAction() {
        return action;
    }

    /**
     * Sets the value of the action property.
     * 
     * @param value
     *            allowed object is {@link String }
     * 
     */
    public void setAction(String value) {
        this.action = value;
    }

    /**
     * Gets the value of the path property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getPath() {
        return path;
    }

    /**
     * Sets the value of the path property.
     * 
     * @param value
     *            allowed object is {@link String }
     * 
     */
    public void setPath(String value) {
        this.path = value;
    }

    /**
     * Gets the value of the httpMethod property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getHttpMethod() {
        return httpMethod;
    }

    /**
     * Sets the value of the httpMethod property.
     * 
     * @param value
     *            allowed object is {@link String }
     * 
     */
    public void setHttpMethod(String value) {
        this.httpMethod = value;
    }

    /**
     * Gets the value of the isAsyncProcessing property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getIsAsyncProcessing() {
        if (isAsyncProcessing == null) {
            return "N";
        } else {
            return isAsyncProcessing;
        }
    }

    /**
     * Sets the value of the isAsyncProcessing property.
     * 
     * @param value
     *            allowed object is {@link String }
     * 
     */
    public void setIsAsyncProcessing(String value) {
        this.isAsyncProcessing = value;
    }

    /**
     * Gets the value of the filterRule property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getFilterRule() {
        if (filterRule == null) {
            return "";
        } else {
            return filterRule;
        }
    }

    /**
     * Sets the value of the filterRule property.
     * 
     * @param value
     *            allowed object is {@link String }
     * 
     */
    public void setFilterRule(String value) {
        this.filterRule = value;
    }

    /**
     * Gets the value of the type property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getType() {
        return type;
    }

    /**
     * Sets the value of the type property.
     * 
     * @param value
     *            allowed object is {@link String }
     * 
     */
    public void setType(String value) {
        this.type = value;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

}
