/*
 * An XML document type.
 * Localname: transport
 * Namespace: http://www.bea.com/2003/03/wli/tpm
 * Java type: com.bea.x2003.x03.wli.tpm.TransportDocument
 *
 * Automatically generated - do not modify.
 */
package com.bea.x2003.x03.wli.tpm;


/**
 * A document containing one transport(@http://www.bea.com/2003/03/wli/tpm) element.
 *
 * This is a complex type.
 */
public interface TransportDocument extends org.apache.xmlbeans.XmlObject
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
        org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(TransportDocument.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.SchemasTypeSystem").resolveHandle("transportd3e1doctype");
    
    /**
     * Gets the "transport" element
     */
    com.bea.x2003.x03.wli.tpm.TransportDocument.Transport getTransport();
    
    /**
     * Sets the "transport" element
     */
    void setTransport(com.bea.x2003.x03.wli.tpm.TransportDocument.Transport transport);
    
    /**
     * Appends and returns a new empty "transport" element
     */
    com.bea.x2003.x03.wli.tpm.TransportDocument.Transport addNewTransport();
    
    /**
     * An XML transport(@http://www.bea.com/2003/03/wli/tpm).
     *
     * This is a complex type.
     */
    public interface Transport extends org.apache.xmlbeans.XmlObject
    {
        public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
            org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Transport.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.SchemasTypeSystem").resolveHandle("transportd1acelemtype");
        
        /**
         * Gets a List of "authentication" elements
         */
        java.util.List<com.bea.x2003.x03.wli.tpm.AuthenticationDocument.Authentication> getAuthenticationList();
        
        /**
         * Gets array of all "authentication" elements
         * @deprecated
         */
        com.bea.x2003.x03.wli.tpm.AuthenticationDocument.Authentication[] getAuthenticationArray();
        
        /**
         * Gets ith "authentication" element
         */
        com.bea.x2003.x03.wli.tpm.AuthenticationDocument.Authentication getAuthenticationArray(int i);
        
        /**
         * Returns number of "authentication" element
         */
        int sizeOfAuthenticationArray();
        
        /**
         * Sets array of all "authentication" element
         */
        void setAuthenticationArray(com.bea.x2003.x03.wli.tpm.AuthenticationDocument.Authentication[] authenticationArray);
        
        /**
         * Sets ith "authentication" element
         */
        void setAuthenticationArray(int i, com.bea.x2003.x03.wli.tpm.AuthenticationDocument.Authentication authentication);
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "authentication" element
         */
        com.bea.x2003.x03.wli.tpm.AuthenticationDocument.Authentication insertNewAuthentication(int i);
        
        /**
         * Appends and returns a new empty value (as xml) as the last "authentication" element
         */
        com.bea.x2003.x03.wli.tpm.AuthenticationDocument.Authentication addNewAuthentication();
        
        /**
         * Removes the ith "authentication" element
         */
        void removeAuthentication(int i);
        
        /**
         * Gets the "protocol" attribute
         */
        com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol.Enum getProtocol();
        
        /**
         * Gets (as xml) the "protocol" attribute
         */
        com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol xgetProtocol();
        
        /**
         * Sets the "protocol" attribute
         */
        void setProtocol(com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol.Enum protocol);
        
        /**
         * Sets (as xml) the "protocol" attribute
         */
        void xsetProtocol(com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol protocol);
        
        /**
         * Gets the "protocol-version" attribute
         */
        java.lang.String getProtocolVersion();
        
        /**
         * Gets (as xml) the "protocol-version" attribute
         */
        org.apache.xmlbeans.XmlString xgetProtocolVersion();
        
        /**
         * True if has "protocol-version" attribute
         */
        boolean isSetProtocolVersion();
        
        /**
         * Sets the "protocol-version" attribute
         */
        void setProtocolVersion(java.lang.String protocolVersion);
        
        /**
         * Sets (as xml) the "protocol-version" attribute
         */
        void xsetProtocolVersion(org.apache.xmlbeans.XmlString protocolVersion);
        
        /**
         * Unsets the "protocol-version" attribute
         */
        void unsetProtocolVersion();
        
        /**
         * Gets the "endpoint" attribute
         */
        java.lang.String getEndpoint();
        
        /**
         * Gets (as xml) the "endpoint" attribute
         */
        org.apache.xmlbeans.XmlAnyURI xgetEndpoint();
        
        /**
         * True if has "endpoint" attribute
         */
        boolean isSetEndpoint();
        
        /**
         * Sets the "endpoint" attribute
         */
        void setEndpoint(java.lang.String endpoint);
        
        /**
         * Sets (as xml) the "endpoint" attribute
         */
        void xsetEndpoint(org.apache.xmlbeans.XmlAnyURI endpoint);
        
        /**
         * Unsets the "endpoint" attribute
         */
        void unsetEndpoint();
        
        /**
         * Gets the "timeout" attribute
         */
        java.lang.String getTimeout();
        
        /**
         * Gets (as xml) the "timeout" attribute
         */
        org.apache.xmlbeans.XmlString xgetTimeout();
        
        /**
         * True if has "timeout" attribute
         */
        boolean isSetTimeout();
        
        /**
         * Sets the "timeout" attribute
         */
        void setTimeout(java.lang.String timeout);
        
        /**
         * Sets (as xml) the "timeout" attribute
         */
        void xsetTimeout(org.apache.xmlbeans.XmlString timeout);
        
        /**
         * Unsets the "timeout" attribute
         */
        void unsetTimeout();
        
        /**
         * An XML protocol(@).
         *
         * This is an atomic type that is a restriction of com.bea.x2003.x03.wli.tpm.TransportDocument$Transport$Protocol.
         */
        public interface Protocol extends org.apache.xmlbeans.XmlNMTOKEN
        {
            public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
                org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Protocol.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.SchemasTypeSystem").resolveHandle("protocol03f4attrtype");
            
            org.apache.xmlbeans.StringEnumAbstractBase enumValue();
            void set(org.apache.xmlbeans.StringEnumAbstractBase e);
            
            static final Enum HTTP = Enum.forString("http");
            static final Enum HTTP_2 = Enum.forString("HTTP");
            static final Enum HTTPS = Enum.forString("https");
            static final Enum HTTPS_2 = Enum.forString("HTTPS");
            static final Enum JMS = Enum.forString("jms");
            static final Enum JMS_2 = Enum.forString("JMS");
            
            static final int INT_HTTP = Enum.INT_HTTP;
            static final int INT_HTTP_2 = Enum.INT_HTTP_2;
            static final int INT_HTTPS = Enum.INT_HTTPS;
            static final int INT_HTTPS_2 = Enum.INT_HTTPS_2;
            static final int INT_JMS = Enum.INT_JMS;
            static final int INT_JMS_2 = Enum.INT_JMS_2;
            
            /**
             * Enumeration value class for com.bea.x2003.x03.wli.tpm.TransportDocument$Transport$Protocol.
             * These enum values can be used as follows:
             * <pre>
             * enum.toString(); // returns the string value of the enum
             * enum.intValue(); // returns an int value, useful for switches
             * // e.g., case Enum.INT_HTTP
             * Enum.forString(s); // returns the enum value for a string
             * Enum.forInt(i); // returns the enum value for an int
             * </pre>
             * Enumeration objects are immutable singleton objects that
             * can be compared using == object equality. They have no
             * public constructor. See the constants defined within this
             * class for all the valid values.
             */
            static final class Enum extends org.apache.xmlbeans.StringEnumAbstractBase
            {
                /**
                 * Returns the enum value for a string, or null if none.
                 */
                public static Enum forString(java.lang.String s)
                    { return (Enum)table.forString(s); }
                /**
                 * Returns the enum value corresponding to an int, or null if none.
                 */
                public static Enum forInt(int i)
                    { return (Enum)table.forInt(i); }
                
                private Enum(java.lang.String s, int i)
                    { super(s, i); }
                
                static final int INT_HTTP = 1;
                static final int INT_HTTP_2 = 2;
                static final int INT_HTTPS = 3;
                static final int INT_HTTPS_2 = 4;
                static final int INT_JMS = 5;
                static final int INT_JMS_2 = 6;
                
                public static final org.apache.xmlbeans.StringEnumAbstractBase.Table table =
                    new org.apache.xmlbeans.StringEnumAbstractBase.Table
                (
                    new Enum[]
                    {
                      new Enum("http", INT_HTTP),
                      new Enum("HTTP", INT_HTTP_2),
                      new Enum("https", INT_HTTPS),
                      new Enum("HTTPS", INT_HTTPS_2),
                      new Enum("jms", INT_JMS),
                      new Enum("JMS", INT_JMS_2),
                    }
                );
                private static final long serialVersionUID = 1L;
                private java.lang.Object readResolve() { return forInt(intValue()); } 
            }
            
            /**
             * A factory class with static methods for creating instances
             * of this type.
             */
            
            public static final class Factory
            {
                public static com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol newValue(java.lang.Object obj) {
                  return (com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol) type.newValue( obj ); }
                
                public static com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol newInstance() {
                  return (com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
                
                public static com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol newInstance(org.apache.xmlbeans.XmlOptions options) {
                  return (com.bea.x2003.x03.wli.tpm.TransportDocument.Transport.Protocol) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
                
                private Factory() { } // No instance of this class allowed
            }
        }
        
        /**
         * A factory class with static methods for creating instances
         * of this type.
         */
        
        public static final class Factory
        {
            public static com.bea.x2003.x03.wli.tpm.TransportDocument.Transport newInstance() {
              return (com.bea.x2003.x03.wli.tpm.TransportDocument.Transport) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
            
            public static com.bea.x2003.x03.wli.tpm.TransportDocument.Transport newInstance(org.apache.xmlbeans.XmlOptions options) {
              return (com.bea.x2003.x03.wli.tpm.TransportDocument.Transport) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
            
            private Factory() { } // No instance of this class allowed
        }
    }
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static com.bea.x2003.x03.wli.tpm.TransportDocument newInstance() {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        /** @param xmlAsString the string value to parse */
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); }
        
        /** @param file the file from which to load an xml document */
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static com.bea.x2003.x03.wli.tpm.TransportDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (com.bea.x2003.x03.wli.tpm.TransportDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
