Clover coverage report - JFox Service-Oriented Application Framework - 1.0-M3
Coverage timestamp: 星期日 五月 22 2005 15:41:44 CST
file stats: LOC: 169   Methods: 0
NCLOC: 41   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
ServiceLocator.java - - - -
coverage
 1   
 /**
 2   
  * @(#)ServiceLocator.java
 3   
  * 
 4   
  * JFoxSOAF, Service-Oriented Application Framework
 5   
  * 
 6   
  * Copyright(c) JFoxSOAF Team
 7   
  * 
 8   
  * Licensed under the GNU LGPL, Version 2.1 (the "License"); 
 9   
  * you may not use this file except in compliance with the License. 
 10   
  * You may obtain a copy of the License at  
 11   
  * 
 12   
  * http://www.gnu.org/copyleft/lesser.html
 13   
  * 
 14   
  * Unless required by applicable law or agreed to in writing, software
 15   
  * distributed under the License is distributed on an "AS IS" BASIS, 
 16   
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 17   
  * See the License for the specific language governing permissions and 
 18   
  * limitations under the License. 
 19   
  * 
 20   
  * For more information, please visit:
 21   
  * http://www.jfox.cn/confluence/display/JFoxSOAF/Home
 22   
  * http://www.huihoo.org/jfox/jfoxsoaf
 23   
  */
 24   
 
 25   
 package org.huihoo.jfox.soaf.services.ejb;
 26   
 
 27   
 import java.net.URL;
 28   
 import java.rmi.Remote;
 29   
 
 30   
 import javax.ejb.EJBHome;
 31   
 import javax.ejb.EJBLocalHome;
 32   
 import javax.jms.ConnectionFactory;
 33   
 import javax.jms.Destination;
 34   
 import javax.jms.Queue;
 35   
 import javax.jms.QueueConnectionFactory;
 36   
 import javax.jms.Topic;
 37   
 import javax.jms.TopicConnectionFactory;
 38   
 import javax.mail.Session;
 39   
 import javax.sql.DataSource;
 40   
 import javax.transaction.UserTransaction;
 41   
 
 42   
 import org.huihoo.jfox.soaf.exception.ServiceLocatorException;
 43   
 
 44   
 /**
 45   
  * <p>
 46   
  * This class is an implementation of the Service Locator pattern. It is used to
 47   
  * looukup resources such as EJBHomes, JMS Destinations, etc. This
 48   
  * implementation uses the "singleton instance" strategy and also the "caching"
 49   
  * strategy.
 50   
  * </p>
 51   
  * 
 52   
  * @author <a href="mailto:founder_chen@yahoo.com.cn">Peter Cheng </a>
 53   
  * @version $Revision: 1.10 $ $Date: 2005/05/22 06:49:31 $
 54   
  * @version Revision: 1.0
 55   
  */
 56   
 
 57   
 public interface ServiceLocator {
 58   
 
 59   
     /**
 60   
      * will get the ejb Local home factory. If this ejb home factory has already
 61   
      * been clients need to cast to the type of EJBHome they desire
 62   
      * 
 63   
      * @return the EJB Home corresponding to the homeName
 64   
      */
 65   
     public EJBLocalHome getLocalHome(String jndiHomeName)
 66   
             throws ServiceLocatorException;
 67   
 
 68   
     /**
 69   
      * will get the ejb Remote home factory. If this ejb home factory has
 70   
      * already been clients need to cast to the type of EJBHome they desire
 71   
      * 
 72   
      * @return the EJB Home corresponding to the homeName
 73   
      */
 74   
     public EJBHome getRemoteHome(String jndiHomeName, Class className)
 75   
             throws ServiceLocatorException;
 76   
 
 77   
     /**
 78   
      * @return the factory for the factory to get queue connections from
 79   
      */
 80   
     public QueueConnectionFactory getQueueConnectionFactory(
 81   
             String qConnFactoryName) throws ServiceLocatorException;
 82   
 
 83   
     /**
 84   
      * @return the Queue Destination to send messages to
 85   
      */
 86   
     public Queue getQueue(String queueName) throws ServiceLocatorException;
 87   
 
 88   
     /**
 89   
      * This method helps in obtaining the topic factory
 90   
      * 
 91   
      * @return the factory for the factory to get topic connections from
 92   
      */
 93   
     public TopicConnectionFactory getTopicConnectionFactory(
 94   
             String topicConnFactoryName) throws ServiceLocatorException;
 95   
 
 96   
     /**
 97   
      * This method helps in obtaining the unified factory.
 98   
      * 
 99   
      * @return the unified factory to get connections from
 100   
      */
 101   
     public ConnectionFactory getJMSConnectionFactory(String ConnFactoryName)
 102   
             throws ServiceLocatorException;
 103   
 
 104   
     /**
 105   
      * This method helps in obtianing hte unified destination.
 106   
      * 
 107   
      * @return the Destination to send messages to
 108   
      */
 109   
     public Destination getJMSDestination(String destName)
 110   
             throws ServiceLocatorException;
 111   
 
 112   
     /**
 113   
      * This method obtains the topc itself for a caller
 114   
      * 
 115   
      * @return the Topic Destination to send messages to
 116   
      */
 117   
     public Topic getTopic(String topicName) throws ServiceLocatorException;
 118   
 
 119   
     /**
 120   
      * This method obtains the datasource itself for a caller
 121   
      * 
 122   
      * @return the DataSource corresponding to the name parameter
 123   
      */
 124   
     public DataSource getDataSource(String dataSourceName)
 125   
             throws ServiceLocatorException;
 126   
 
 127   
     /**
 128   
      * This method obtains the mail seesion itself for a caller
 129   
      * 
 130   
      * @return the Session corresponding to the name parameter
 131   
      */
 132   
     public Session getMailSession(String mailSessionName)
 133   
             throws ServiceLocatorException;
 134   
 
 135   
     /**
 136   
      * This method obtains the UserTransaction itself for a caller
 137   
      * 
 138   
      * @return the UserTransaction corresponding to the name parameter
 139   
      */
 140   
     public UserTransaction getUserTransaction(String utName)
 141   
             throws ServiceLocatorException;
 142   
 
 143   
     /**
 144   
      * @return the URL value corresponding to the env entry name.
 145   
      */
 146   
     public URL getUrl(String envName) throws ServiceLocatorException;
 147   
 
 148   
     /**
 149   
      * @return the boolean value corresponding to the env entry such as
 150   
      *         SEND_CONFIRMATION_MAIL property.
 151   
      */
 152   
     public boolean getBoolean(String envName) throws ServiceLocatorException;
 153   
 
 154   
     /**
 155   
      * @return the String value corresponding to the env entry name.
 156   
      */
 157   
     public String getString(String envName) throws ServiceLocatorException;
 158   
 
 159   
     /**
 160   
      * Service class acts as a factory of the Dynamic proxy for the target
 161   
      * service endpoint.
 162   
      * 
 163   
      * @see java.xml.rpc.Service.java
 164   
      * @return the Service instance
 165   
      */
 166   
     public Remote getServicePort(String jndiHomeName, Class className)
 167   
             throws ServiceLocatorException;
 168   
 
 169   
 }