01: /*******************************************************************************
02: * Copyright (c) 2000, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.jdt.internal.compiler.env;
11:
12: /**
13: * This represents the target file of a type dependency.
14: *
15: * All implementors of this interface are containers for types or types
16: * themselves which must be able to identify their source file name
17: * when file dependencies are collected.
18: */
19: public interface IDependent {
20: char JAR_FILE_ENTRY_SEPARATOR = '|';
21:
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: }
|