View Javadoc

1   package org.codehaus.xfire.service.object;
2   
3   import java.lang.reflect.Method;
4   import java.util.Collection;
5   import java.util.Hashtable;
6   import javax.xml.namespace.QName;
7   
8   /***
9    * An operation that be performed on a service.
10   * 
11   * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
12   * @since Feb 20, 2004
13   */
14  public class Operation
15  {
16      private Hashtable inParams;
17  
18      private Hashtable outParams;
19          
20      private Method method;
21  
22      public Operation( final Method method )
23      {
24          inParams = new Hashtable();
25          outParams = new Hashtable();
26  
27          this.method = method;
28      }
29  
30      public Class getInParameterClass( final String paramName )
31      {
32          return (Class) inParams.get( paramName );
33      }
34  
35      public void addInParameter( final Parameter p )
36      {
37          inParams.put( p.getName(), p );
38      }
39      
40      public Parameter getInParameter( final QName q )
41      {
42          return (Parameter) inParams.get(q);
43      }
44      
45      public Collection getInParameters()
46      {
47          return inParams.values();
48      }
49  
50      public Class getOutParameterClass( final String paramName )
51      {
52          return (Class) outParams.get( paramName );
53      }
54  
55      public void addOutParameter( final Parameter p )
56      {
57          outParams.put( p.getName(), p );
58      }
59      
60      public Parameter getOutParameter( final QName q )
61      {
62          return (Parameter) outParams.get(q);
63      }
64      
65      public Collection getOutParameters()
66      {
67          return outParams.values();
68      }
69      
70      public Method getMethod()
71      {
72          return method;
73      }
74  
75      public String getName()
76      {
77          return method.getName();
78      }
79  }