View Javadoc

1   package org.codehaus.xfire.annotations;
2   
3   import org.codehaus.xfire.service.OperationInfo;
4   
5   /***
6    * Represents an common representation of a web method annotation. Specifies that the given method is exposed as a Web
7    * Service operation, making it part of the Web Serviceƕs public contract. A WebMethod annotation is required for each
8    * method that is published by the Web Service.
9    *
10   * @author Arjen Poutsma
11   */
12  public class WebMethodAnnotation
13  {
14      private String action = "";
15      private String operationName = "";
16  
17      /***
18       * Returns the action for this operation. For SOAP bindings, this determines the value of the SOAPAction header.
19       *
20       * @return the action for this operation.
21       */
22      public String getAction()
23      {
24          return action;
25      }
26  
27      /***
28       * Sets the action for this operation. For SOAP bindings, this determines the value of the SOAPAction header.
29       *
30       * @param action the new action for this operation.
31       */
32      public void setAction(String action)
33      {
34          this.action = action;
35      }
36  
37      /***
38       * Returns the name of the wsdl:operation matching this method. By default the WSDL operation name will be the same
39       * as the Java method name.
40       *
41       * @return the name of the wsdl:operation matching this method.
42       */
43      public String getOperationName()
44      {
45          return operationName;
46      }
47  
48      /***
49       * Sets the name of the wsdl:operation matching this method. By default the WSDL operation name will be the same as
50       * the Java method name.
51       *
52       * @param operationName the new name of the wsdl:operation matching this method.
53       */
54      public void setOperationName(String operationName)
55      {
56          this.operationName = operationName;
57      }
58  
59      /***
60       * Populates the given operation info with the information contained in this annotation.
61       *
62       * @param operationInfo the operation info.
63       */
64      public void populate(OperationInfo operationInfo)
65      {
66          if (operationName.length() != 0)
67          {
68              operationInfo.setName(operationName);
69          }
70      }
71  
72      /***
73       * Returns a <code>String</code> representation of this <code>WebMethodAnnotation</code>.
74       *
75       * @return a string representation.
76       */
77      public String toString()
78      {
79          return "WebMethodAnnotation{" +
80                  "action='" + action + "'" +
81                  ", operationName='" + operationName + "'" +
82                  "}";
83      }
84  }