View Javadoc

1   package org.codehaus.xfire.annotations.commons;
2   
3   import java.lang.reflect.Method;
4   
5   import org.apache.commons.attributes.Attributes;
6   import org.codehaus.xfire.annotations.HandlerChainAnnotation;
7   import org.codehaus.xfire.annotations.WebAnnotations;
8   import org.codehaus.xfire.annotations.WebMethodAnnotation;
9   import org.codehaus.xfire.annotations.WebParamAnnotation;
10  import org.codehaus.xfire.annotations.WebResultAnnotation;
11  import org.codehaus.xfire.annotations.WebServiceAnnotation;
12  import org.codehaus.xfire.annotations.commons.soap.SOAPBinding;
13  import org.codehaus.xfire.annotations.soap.SOAPBindingAnnotation;
14  
15  /***
16   * Implementation of the {@link WebAnnotations} facade for Commons Attributes.
17   *
18   * @author <a href="mailto:poutsma@mac.com">Arjen Poutsma</a>
19   */
20  public class CommonsWebAttributes
21          implements WebAnnotations
22  {
23  
24      public boolean hasWebServiceAnnotation(Class aClass)
25      {
26          return Attributes.hasAttributeType(aClass, WebService.class);
27      }
28  
29      public WebServiceAnnotation getWebServiceAnnotation(Class aClass)
30      {
31          return (WebServiceAnnotation) Attributes.getAttribute(aClass, WebService.class);
32      }
33  
34      public boolean hasWebMethodAnnotation(Method method)
35      {
36          return Attributes.hasAttributeType(method, WebMethod.class);
37      }
38  
39      public WebMethodAnnotation getWebMethodAnnotation(Method method)
40      {
41          return (WebMethodAnnotation) Attributes.getAttribute(method, WebMethod.class);
42      }
43  
44      public boolean hasWebResultAnnotation(Method method)
45      {
46          return Attributes.hasReturnAttributeType(method, WebResult.class);
47      }
48  
49      public WebResultAnnotation getWebResultAnnotation(Method method)
50      {
51          return (WebResultAnnotation) Attributes.getReturnAttribute(method, WebResult.class);
52      }
53  
54      public boolean hasWebParamAnnotation(Method method, int parameter)
55      {
56          return Attributes.hasParameterAttributeType(method, parameter, WebParam.class);
57      }
58  
59      public WebParamAnnotation getWebParamAnnotation(Method method, int parameter)
60      {
61          return (WebParamAnnotation) Attributes.getParameterAttribute(method, parameter, WebParam.class);
62      }
63  
64      public boolean hasOnewayAnnotation(Method method)
65      {
66          return Attributes.hasAttributeType(method, Oneway.class);
67      }
68  
69      public boolean hasSOAPBindingAnnotation(Class aClass)
70      {
71          return Attributes.hasAttributeType(aClass, SOAPBinding.class);
72      }
73  
74      public SOAPBindingAnnotation getSOAPBindingAnnotation(Class aClass)
75      {
76          return (SOAPBindingAnnotation) Attributes.getAttribute(aClass, SOAPBinding.class);
77      }
78  
79      public boolean hasHandlerChainAnnotation(Class aClass)
80      {
81          return Attributes.hasAttributeType(aClass, HandlerChain.class);
82      }
83  
84      public HandlerChainAnnotation getHandlerChainAnnotation(Class aClass)
85      {
86          return (HandlerChainAnnotation) Attributes.getAttribute(aClass, HandlerChain.class);
87      }
88  }