Home » xml-commons-external-1.4.01-src » javax » xml » messaging » [javadoc | source]

    1   /*
    2    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    3    *
    4    * Copyright 2000-2007 Sun Microsystems, Inc. All rights reserved. 
    5    *
    6    * The contents of this file are subject to the terms of either the GNU
    7    * General Public License Version 2 only ("GPL") or the Common Development
    8    * and Distribution License ("CDDL") (collectively, the "License").  You may
    9    * not use this file except in compliance with the License.  You can obtain
   10    * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
   11    * or mq/legal/LICENSE.txt.  See the License for the specific language
   12    * governing permissions and limitations under the License.
   13    * 
   14    * When distributing the software, include this License Header Notice in each
   15    * file and include the License file at mq/legal/LICENSE.txt.  Sun designates
   16    * this particular file as subject to the "Classpath" exception as provided by
   17    * Sun in the GPL Version 2 section of the License file that accompanied this
   18    * code.  If applicable, add the following below the License Header, with the
   19    * fields enclosed by brackets [] replaced by your own identifying information:
   20    * "Portions Copyrighted [year] [name of copyright owner]"
   21    * 
   22    * Contributor(s):
   23    * 
   24    * If you wish your version of this file to be governed by only the CDDL or
   25    * only the GPL Version 2, indicate your decision by adding "[Contributor]
   26    * elects to include this software in this distribution under the [CDDL or GPL
   27    * Version 2] license."  If you don't indicate a single choice of license, a
   28    * recipient has the option to distribute your version of this file under
   29    * either the CDDL, the GPL Version 2 or  to extend the choice of license to
   30    * its licensees as provided above.  However, if you add GPL Version 2 code
   31    * and therefore, elected the GPL Version 2 license, then the option applies
   32    * only if the new code is made subject to such option by the copyright holder. 
   33    */
   34   
   35   /*
   36    * @(#)ProviderMetaData.java	1.4 07/02/07
   37    */ 
   38   
   39   package javax.xml.messaging;
   40   
   41   /** 
   42    * Information about the messaging provider to which a client has
   43    * a connection.
   44    * <P>
   45    * After obtaining a connection to its messaging provider, a client
   46    * can get information about that provider.  The following code fragment
   47    * demonstrates how the <code>ProviderConnection</code> object <code>con</code>
   48    * can be used to retrieve its <code>ProviderMetaData</code> object 
   49    * and then to get the name and version number of the messaging provider.
   50    * <PRE>
   51    *   ProviderMetaData pmd = con.getMetaData();
   52    *   String name = pmd.getName();
   53    *   int majorVersion = pmd.getMajorVersion();
   54    *   int minorVersion = pmd.getMinorVersion();
   55    * </PRE>
   56    *
   57    * The <code>ProviderMetaData</code> interface also makes it possible
   58    * to find out which profiles a JAXM provider supports.
   59    * The following line of code uses the method 
   60    * <code>getSupportedProfiles</code> to 
   61    * retrieve an array of <code>String</code> objects naming the profile(s)
   62    * that the JAXM provider supports.
   63    * <PRE>
   64    *   String [] profiles = pmd.getSupportedProfiles();
   65    * </PRE>
   66    * 
   67    * When a JAXM implementation supports a profile, it supports the functionality 
   68    * supplied by a particular messaging specification. A profile is built on top 
   69    * of the SOAP 1.1 and SOAP with Attachments specifications and adds more
   70    * capabilities.  For example, a JAXM provider may support
   71    * an ebXML profile, which means that it supports headers that specify
   72    * functionality defined in the ebXML specification "Message Service Specification:
   73    * ebXML Routing, Transport, & Packaging, Version 1.0".
   74    * <P>
   75    * Support for  profiles, which typically add enhanced security
   76    * and quality of service features, is required for the implementation of
   77    * end-to-end asynchronous messaging.
   78    */
   79   public interface ProviderMetaData {
   80   
   81       /**
   82        * Retrieves a <code>String</code> containing the name of the
   83        * messaging provider to which the <code>ProviderConnection</code> object 
   84        * described by this <code>ProviderMetaData</code> object is
   85        * connected. This string is provider implementation-dependent. It
   86        * can either describe a particular instance of the provider or
   87        * just give the name of the provider.
   88        *
   89        * @return the messaging provider's name as a <code>String</code>
   90        */
   91       public String getName();
   92   
   93       /**
   94        * Retrieves an <code>int</code> indicating the major version number 
   95        * of the messaging provider to which the <code>ProviderConnection</code> object 
   96        * described by this <code>ProviderMetaData</code> object is
   97        * connected.
   98        *
   99        * @return the messaging provider's major version number as an 
  100        *         <code>int</code>
  101        */
  102       public int getMajorVersion();
  103    
  104       /**
  105        * Retrieves an <code>int</code> indicating the minor version number 
  106        * of the messaging provider to which the <code>ProviderConnection</code> object 
  107        * described by this <code>ProviderMetaData</code> object is
  108        * connected.
  109        *
  110        * @return the messaging provider's minor version number as an 
  111        *         <code>int</code>
  112        */
  113       public int getMinorVersion();
  114   
  115       /**
  116        * Retrieves a list of the messaging profiles that are supported
  117        * by the messaging provider to which the <code>ProviderConnection</code> object
  118        * described by this <code>ProviderMetaData</code> object is
  119        * connected.
  120        *
  121        * @return a <code>String</code> array in which each element is a
  122        *         messaging profile supported by the messaging provider
  123        */
  124       public String[] getSupportedProfiles();
  125   }

Home » xml-commons-external-1.4.01-src » javax » xml » messaging » [javadoc | source]