001/**************************************************************************** 002 * Copyright/Copyleft: 003 * 004 * For this source the LGPL Lesser General Public License, 005 * published by the Free Software Foundation is valid. 006 * It means: 007 * 1) You can use this source without any restriction for any desired purpose. 008 * 2) You can redistribute copies of this source to everybody. 009 * 3) Every user of this source, also the user of redistribute copies 010 * with or without payment, must accept this license for further using. 011 * 4) But the LPGL ist not appropriate for a whole software product, 012 * if this source is only a part of them. It means, the user 013 * must publish this part of source, 014 * but don't need to publish the whole source of the own product. 015 * 5) You can study and modify (improve) this source 016 * for own using or for redistribution, but you have to license the 017 * modified sources likewise under this LGPL Lesser General Public License. 018 * You mustn't delete this Copyright/Copyleft inscription in this source file. 019 * 020 * @author JcHartmut: hartmut.schorrig@vishia.de 021 * @version 2008-04-06 (year-month-day) 022 * list of changes: 023 * 2008-04-06 JcHartmut: some correction 024 * 2008-03-15 JcHartmut: creation 025 * 026 ****************************************************************************/ 027package org.vishia.java2C; 028 029import java.io.FileNotFoundException; 030import java.io.IOException; 031import java.text.ParseException; 032 033/**This interface is used to run the first pass of a requested class 034 * while running first or second pass of another file. 035 */ 036public interface RunRequiredFirstPass_ifc 037{ 038 /**searches a file and build the ClassData parsing and converting the file. 039 * This method is called if an unknown type is used yet. 040 * @param sClassName The name of the type in Java. The filename should be the same. 041 * The file is searched in any package given as input parameter calling java2C. 042 * @return null if no file found. Otherwise the built ClassData. 043 * This ClassData are registered in the list {@link Java2C_Main#userTypes}. 044 * @throws ParseException 045 */ 046 ClassData runRequestedFirstPass(final JavaSrcTreeFile javaSrc, final String sClassName) //, final String sPkgName) 047 throws FileNotFoundException, IllegalArgumentException, IOException, IllegalAccessException, InstantiationException, ParseException; 048 049}