View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.student.common.test.mock;
17  
18  import java.util.HashMap;
19  import java.util.Map;
20  
21  /**
22   *  Use this mapper to set method return for mock proxy to return values you
23   *  based on predefined arguments.  
24   *  
25   *  NOTE: Currently only supports single argument methods.
26   */
27  public class MockArgumentMapper {
28      private Map<Object,Object> argumentMapper;
29  
30      public MockArgumentMapper() {
31          super();
32          argumentMapper = new HashMap<Object, Object>();
33      }
34      
35      /**
36       * 
37       * This method returns the return value for the specified arguments
38       * 
39       * @param arguments
40       * @return return value for arguments.
41       */
42      public Object getReturnValue(Object[] arguments){
43          if (arguments!=null ){
44              return argumentMapper.get(arguments[0]);
45          }
46          return null;
47      }
48      
49      /**
50       * @return the methodReturnMap
51       */
52      public Map<Object, Object> getArgumentMapper() {
53          return argumentMapper;
54      }
55  
56      /**
57       * @param methodReturnMap the methodReturnMap to set
58       */
59      public void setArgumentMapper(Map<Object, Object> argumentMapper) {
60          this.argumentMapper = argumentMapper;
61      }
62  
63  }