View Javadoc

1   package org.codehaus.xfire.service;
2   
3   import java.net.URL;
4   import java.util.Map;
5   
6   /***
7    * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
8    */
9   public interface ServiceFactory
10  {
11      /***
12       * Create a service from the specified class.
13       *
14       * @param clazz The service class used to populate the operations and parameters.
15       * @return The service.
16       */
17      public Service create(Class clazz);
18  
19      /***
20       * Create a service from the specified class.
21       *
22       * @param clazz The service class used to populate the operations and parameters.
23       * @param properties Properties to set on the service and use in construction.
24       * @return The service.
25       */
26      public Service create(Class clazz, Map properties);
27  
28      /***
29       * Create a service from the specified class.
30       * 
31       * @param clazz
32       *            The service class used to populate the operations and
33       *            parameters.
34       * @param name
35       *            The name of the service.
36       * @param namespace
37       *            The default namespace of the service.
38       * @param properties
39       *            Service specific properties which the ServiceFactory will use
40       *            to create the service.
41       * @return The service.
42       */
43      public Service create(Class clazz,
44                            String name,
45                            String namespace,
46                            Map properties);
47      
48      /***
49       * Create a service from a WSDL file. NOTE: This probably doesn't work yet.
50       *
51       * @param clazz   The service class for the wsdl.
52       * @param wsdlUrl The WSDL URL.
53       * @return
54       * @throws Exception
55       */
56      public Service create(Class clazz, URL wsdlUrl)
57              throws Exception;
58  }