Project: Activiti-KickStart
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1-b02-fcs  
// 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: 2009.09.07 at 02:19:19 PM CEST  
// 
 
 
package org.activiti.kickstart.bpmn20.model; 
 
import java.util.ArrayList; 
import java.util.List; 
 
import javax.xml.bind.annotation.XmlAccessType; 
import javax.xml.bind.annotation.XmlAccessorType; 
import javax.xml.bind.annotation.XmlAttribute; 
import javax.xml.bind.annotation.XmlSeeAlso; 
import javax.xml.bind.annotation.XmlType; 
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; 
import javax.xml.namespace.QName; 
 
import org.activiti.kickstart.bpmn20.model.callable.GlobalChoreographyTask; 
import org.activiti.kickstart.bpmn20.model.callable.GlobalTask; 
import org.activiti.kickstart.bpmn20.model.choreography.Choreography; 
import org.activiti.kickstart.bpmn20.model.conversation.GlobalCommunication; 
import org.activiti.kickstart.bpmn20.model.data_object.InputOutputBinding; 
import org.activiti.kickstart.bpmn20.model.data_object.InputOutputSpecification; 
import org.activiti.kickstart.bpmn20.util.EscapingStringAdapter; 
 
 
/**
 * <p>Java class for tCallableElement complex type. 
 *  
 * <p>The following schema fragment specifies the expected content contained within this class. 
 *  
 * <pre> 
 * <complexType name="tCallableElement"> 
 *   <complexContent> 
 *     <extension base="{http://www.omg.org/bpmn20}tRootElement"> 
 *       <sequence> 
 *         <element name="supportedInterfaceRef" type="{http://www.w3.org/2001/XMLSchema}QName" maxOccurs="unbounded" minOccurs="0"/> 
 *         <element ref="{http://www.omg.org/bpmn20}ioSpecification" minOccurs="0"/> 
 *         <element ref="{http://www.omg.org/bpmn20}ioBinding" maxOccurs="unbounded" minOccurs="0"/> 
 *       </sequence> 
 *       <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /> 
 *     </extension> 
 *   </complexContent> 
 * </complexType> 
 * </pre> 
 *  
 *  
 */
 
@XmlAccessorType(XmlAccessType.FIELD) 
@XmlType(name = "tCallableElement", propOrder = { 
    "supportedInterfaceRef"
    "ioSpecification"
    "ioBinding" 
}) 
@XmlSeeAlso({ 
    Process.class
    Choreography.class
    GlobalChoreographyTask.class
    GlobalCommunication.class
    GlobalTask.class 
}) 
public class CallableElement 
    extends RootElement 
 
    protected List<QName> supportedInterfaceRef; 
    protected InputOutputSpecification ioSpecification; 
    protected List<InputOutputBinding> ioBinding; 
    @XmlAttribute 
    @XmlJavaTypeAdapter(EscapingStringAdapter.class
    protected String name; 
 
    /**
     * Gets the value of the supportedInterfaceRef property. 
     *  
     * <p> 
     * This accessor method returns a reference to the live list, 
     * not a snapshot. Therefore any modification you make to the 
     * returned list will be present inside the JAXB object. 
     * This is why there is not a <CODE>set</CODE> method for the supportedInterfaceRef property. 
     *  
     * <p> 
     * For example, to add a new item, do as follows: 
     * <pre> 
     *    getSupportedInterfaceRef().add(newItem); 
     * </pre> 
     *  
     *  
     * <p> 
     * Objects of the following type(s) are allowed in the list 
     * {@link QName } 
     *  
     *  
     */
 
    public List<QName> getSupportedInterfaceRef() { 
        if (supportedInterfaceRef == null) { 
            supportedInterfaceRef = new ArrayList<QName>(); 
        } 
        return this.supportedInterfaceRef; 
    } 
 
    /**
     * Gets the value of the ioSpecification property. 
     *  
     * @return 
     *     possible object is 
     *     {@link InputOutputSpecification } 
     *      
     */
 
    public InputOutputSpecification getIoSpecification() { 
        return ioSpecification; 
    } 
 
    /**
     * Sets the value of the ioSpecification property. 
     *  
     * @param value 
     *     allowed object is 
     *     {@link InputOutputSpecification } 
     *      
     */
 
    public void setIoSpecification(InputOutputSpecification value) { 
        this.ioSpecification = value; 
    } 
 
    /**
     * Gets the value of the ioBinding property. 
     *  
     * <p> 
     * This accessor method returns a reference to the live list, 
     * not a snapshot. Therefore any modification you make to the 
     * returned list will be present inside the JAXB object. 
     * This is why there is not a <CODE>set</CODE> method for the ioBinding property. 
     *  
     * <p> 
     * For example, to add a new item, do as follows: 
     * <pre> 
     *    getIoBinding().add(newItem); 
     * </pre> 
     *  
     *  
     * <p> 
     * Objects of the following type(s) are allowed in the list 
     * {@link TInputOutputBinding } 
     *  
     *  
     */
 
    public List<InputOutputBinding> getIoBinding() { 
        if (ioBinding == null) { 
            ioBinding = new ArrayList<InputOutputBinding>(); 
        } 
        return this.ioBinding; 
    } 
 
    /**
     * Gets the value of the name property. 
     *  
     * @return 
     *     possible object is 
     *     {@link String } 
     *      
     */
 
    public String getName() { 
        return name; 
    } 
 
    /**
     * Sets the value of the name property. 
     *  
     * @param value 
     *     allowed object is 
     *     {@link String } 
     *      
     */
 
    public void setName(String value) { 
        this.name = value; 
    } 
 
}