01: /*******************************************************************************
02: * Copyright (c) 2000, 2007 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.pde.core.plugin;
11:
12: import org.eclipse.core.runtime.CoreException;
13:
14: /**
15: * Objects that implement this interface represent references
16: * to required plug-ins.
17: */
18: public interface IPluginImport extends IPluginObject, IPluginReference {
19: /**
20: * A name of the property that will be used to notify
21: * about changes in the "reexported" field.
22: */
23: String P_REEXPORTED = "export"; //$NON-NLS-1$
24: /**
25: * A name of the property that will be used to notify
26: * about changes in the "optional" field.
27: */
28: String P_OPTIONAL = "optional"; //$NON-NLS-1$
29:
30: /**
31: * Tests whether the imported plug-in is reexported for
32: * plug-ins that will use this plug-in.
33: *
34: * @return true if the required plug-in libraries are reexported
35: */
36: boolean isReexported();
37:
38: /**
39: * Tests whether this import is optional. Optional imports will
40: * not create an error condition when they cannot be resolved.
41: *
42: * @return true if this import is optional
43: */
44: boolean isOptional();
45:
46: /**
47: * Sets whether the libraries of the required plug-in will
48: * be reexported.
49: * This method will throw a CoreException if the model
50: * is not editable.
51: *
52: * @param value true if reexporting is desired
53: */
54: void setReexported(boolean value) throws CoreException;
55:
56: /**
57: * Sets whether this import is optional. Optional imports will
58: * not create an error condition when they cannot be resolved.
59: *
60: * @param value true if import is optional
61: */
62: void setOptional(boolean value) throws CoreException;
63:
64: }
|