1/* 2 * Copyright 2003 The Apache Software Foundation 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16package org.mockito.cglib.reflect; 17 18import java.lang.reflect.Member; 19 20abstract public class FastMember 21{ 22 protected FastClass fc; 23 protected Member member; 24 protected int index; 25 26 protected FastMember(FastClass fc, Member member, int index) { 27 this.fc = fc; 28 this.member = member; 29 this.index = index; 30 } 31 32 abstract public Class[] getParameterTypes(); 33 abstract public Class[] getExceptionTypes(); 34 35 public int getIndex() { 36 return index; 37 } 38 39 public String getName() { 40 return member.getName(); 41 } 42 43 public Class getDeclaringClass() { 44 return fc.getJavaClass(); 45 } 46 47 public int getModifiers() { 48 return member.getModifiers(); 49 } 50 51 public String toString() { 52 return member.toString(); 53 } 54 55 public int hashCode() { 56 return member.hashCode(); 57 } 58 59 public boolean equals(Object o) { 60 if (o == null || !(o instanceof FastMember)) { 61 return false; 62 } 63 return member.equals(((FastMember)o).member); 64 } 65} 66