1 /******************************************************************************* 2 * Copyright (c) 2000, 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.jdt.internal.compiler.env; 12 13 /** 14 * This represents the target file of a type dependency. 15 * 16 * All implementors of this interface are containers for types or types 17 * themselves which must be able to identify their source file name 18 * when file dependencies are collected. 19 */ 20 public interface IDependent { 21 char JAR_FILE_ENTRY_SEPARATOR = '|'; 22 /** 23 * Answer the file name which defines the type. 24 * 25 * The path part (optional) must be separated from the actual 26 * file proper name by a separator suitable for the type (java.io.File.separator for example), 27 * e.g. 28 * "c:\\source\\com\\p\\X.java" or 29 * "/com/p/Y.java". 30 * 31 * The path to the zip or jar file (optional) must be separated 32 * from the actual path part by JAR_FILE_ENTRY_SEPARATOR, 33 * e.g. 34 * "c:\\lib\\some.jar|/com/p/X.class" or 35 * "/lib/some.zip|/com/q/Y.class". 36 * 37 * The proper file name includes the suffix extension (e.g. ".java") 38 * e.g. "c:/org/eclipse/jdt/internal/compileri/env/IDependent.java" 39 * 40 * Return null if no file defines the type. 41 */ 42 43 char[] getFileName(); 44 } 45