1   /***************************************************************************************
2    * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved.                 *
3    * http://aspectwerkz.codehaus.org                                                    *
4    * ---------------------------------------------------------------------------------- *
5    * The software in this package is published under the terms of the LGPL license      *
6    * a copy of which has been included with this distribution in the license.txt file.  *
7    **************************************************************************************/
8   package test.mixin.perclass;
9   
10  /***
11   * Replacement for MyImpl mixin
12   *
13   * @author <a href="mailto:alex@gnilux.com">Alexandre Vasseur </a>
14   */
15  public class MyImplReplacement implements Cloneable, Introductions {
16      public MyImplReplacement(Class target) {
17      }
18  
19      public void noArgs() throws RuntimeException {
20      }
21  
22      public long longArg(long arg) {
23          return arg;
24      }
25  
26      /***
27       * Used in test suite: replacement does a -2 x
28       */
29      public int intArg(int arg) {
30          return -2 * arg;
31      }
32  
33      public short shortArg(short arg) {
34          return arg;
35      }
36  
37      public double doubleArg(double arg) {
38          return arg;
39      }
40  
41      public float floatArg(float arg) {
42          return arg;
43      }
44  
45      public byte byteArg(byte arg) {
46          return arg;
47      }
48  
49      public boolean booleanArg(boolean arg) {
50          return arg;
51      }
52  
53      public char charArg(char arg) {
54          return arg;
55      }
56  
57      public Object objectArg(Object arg) {
58          return arg;
59      }
60  
61      public String[] arrayArg(String[] arg) {
62          return arg;
63      }
64  
65      public int variousArguments1(String str, int i, float f, Object o, long l) throws RuntimeException {
66          return str.hashCode() + i + (int) f + o.hashCode() + (int) l;
67      }
68  
69      public int variousArguments2(float f, int i, String str1, Object o, long l, String str2) throws RuntimeException {
70          return (int) f + i + str1.hashCode() + o.hashCode() + (int) l + str2.hashCode();
71      }
72  
73      public void getVoid() throws RuntimeException {
74      }
75  
76      public long getLong() throws RuntimeException {
77          return 1L;
78      }
79  
80      public int getInt() throws RuntimeException {
81          return 1;
82      }
83  
84      public short getShort() throws RuntimeException {
85          return 1;
86      }
87  
88      public double getDouble() throws RuntimeException {
89          return 1.1D;
90      }
91  
92      public float getFloat() throws RuntimeException {
93          return 1.1F;
94      }
95  
96      public byte getByte() throws RuntimeException {
97          return Byte.parseByte("1");
98      }
99  
100     public char getChar() throws RuntimeException {
101         return 'A';
102     }
103 
104     public boolean getBoolean() throws RuntimeException {
105         return true;
106     }
107 
108     public void exceptionThrower() throws Throwable {
109         throw new UnsupportedOperationException("this is a test");
110     }
111 
112     public void exceptionThrowerChecked() throws CheckedException {
113         throw new CheckedException();
114     }
115 }