1 package org.codehaus.xfire.service.object;
2
3 import java.net.URL;
4
5 import org.codehaus.xfire.service.Service;
6 import org.codehaus.xfire.soap.SoapVersion;
7 import org.codehaus.xfire.type.TypeMapping;
8
9 /***
10 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
11 */
12 public interface ServiceBuilder
13 {
14 /***
15 * Create a service from the specified class.
16 * @param clazz The service class used to populate the operations and parameters.
17 * @return The service.
18 */
19 public Service create(Class clazz);
20
21 /***
22 * Create a service from the specified class.
23 * @param clazz The service class used to populate the operations and parameters.
24 * @param version The SoapVersion.
25 * @param style The service style.
26 * @param use The service use.
27 * @return The service.
28 * @see org.codehaus.xfire.soap.SoapConstants
29 * @see org.codehaus.xfire.soap.Soap11
30 * @see org.codehaus.xfire.soap.Soap12
31 * @see org.codehaus.xfire.soap.SoapVersion
32 */
33 public Service create(Class clazz, SoapVersion version, String style, String use);
34
35 /***
36 * Create a service from the specified class.
37 * @param clazz The service class used to populate the operations and parameters.
38 * @param name The name of the service.
39 * @param namespace The default namespace of the service.
40 * @param version The SoapVersion.
41 * @param style The service style.
42 * @param use The service use.
43 * @return The service.
44 * @see org.codehaus.xfire.soap.SoapConstants
45 * @see org.codehaus.xfire.soap.Soap11
46 * @see org.codehaus.xfire.soap.Soap12
47 * @see org.codehaus.xfire.soap.SoapVersion
48 */
49 public Service create(Class clazz,
50 String name,
51 String namespace,
52 SoapVersion version,
53 String style,
54 String use);
55
56 /***
57 * Create a service from a WSDL file.
58 * NOTE: This probably doesn't work yet.
59 *
60 * @param clazz The service class for the wsdl.
61 * @param tm
62 * @param wsdlUrl The WSDL URL.
63 * @return
64 * @throws Exception
65 */
66 public Service create(Class clazz, TypeMapping tm, URL wsdlUrl) throws Exception;
67 }