1 /******************************************************************************* 2 * Copyright 2011 See AUTHORS file. 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 ******************************************************************************/ 16 17 package com.badlogic.gwtref.client; 18 19 import java.util.Collection; 20 21 public interface IReflectionCache { 22 // Class level methods forName(String name)23 public Type forName (String name); 24 newArray(Type componentType, int size)25 public Object newArray (Type componentType, int size); 26 getArrayLength(Type type, Object obj)27 public int getArrayLength (Type type, Object obj); 28 getArrayElement(Type type, Object obj, int i)29 public Object getArrayElement (Type type, Object obj, int i); 30 setArrayElement(Type type, Object obj, int i, Object value)31 public void setArrayElement (Type type, Object obj, int i, Object value); 32 33 // Field Methods get(Field field, Object obj)34 public Object get (Field field, Object obj) throws IllegalAccessException; 35 set(Field field, Object obj, Object value)36 public void set (Field field, Object obj, Object value) throws IllegalAccessException; 37 38 // Method Methods :p invoke(Method m, Object obj, Object[] params)39 public Object invoke (Method m, Object obj, Object[] params); 40 } 41