1 /* 2 Copyright (C) 2001-2003 Renaud Pawlak, Lionel Seinturier. 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU Lesser General Public License as 6 published by the Free Software Foundation; either version 2 of the 7 License, or (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, but 10 WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with this program; if not, write to the Free Software 16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 17 USA */ 18 19 package org.objectweb.jac.core; 20 21 /** 22 * <code>WrappeeTranslator</code> translates a regular java class into 23 * a wrappable one. 24 * 25 * <p>This translation is usually done at <i>load time</i>. After the 26 * translation, the class subclasses the <code>JacObject</code> class. 27 * 28 * @author Renaud Pawlak 29 * @author Lionel Seinturier 30 * @author Fabrice Legond-Aubry 31 */ 32 33 public interface WrappeeTranslator { 34 /** 35 * Translate a class 36 * @param name the name of the class to translate 37 * @return the byte code or null i the class was not translated 38 */ 39 byte[] translateClass (String name) throws Exception; 40 41 42 /** 43 * Computes RTTI info for a class and gets its bytecode 44 * @param aClass name of the class analyze 45 * @return bytecode of the class 46 */ 47 byte[] fillClassRTTI(String aClass) throws Exception; 48 } 49