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.pde.internal.core.ibundle;
11:
12: import org.eclipse.pde.core.IModel;
13: import org.eclipse.pde.core.IModelChangeProvider;
14:
15: /**
16: * This model is created from the "META-INF/MANIFEST.MF" file that represents
17: * the plug-in manifest in Eclipse 3.0 OSGi format.
18: * <p>
19: * If this model is editable, isEditable() will return true and the model
20: * instance will implement IEditable interface. The model is capable of
21: * providing change notification for the registered listeners.
22: *
23: * @since 3.0
24: */
25: public interface IBundleModel extends IModel, IModelChangeProvider {
26: /**
27: * Returns the top-level model object of this model.
28: *
29: * @return an object containing the manifest headers
30: */
31: IBundle getBundle();
32:
33: /**
34: * Returns the location of the file used to create the model.
35: *
36: * @return the location of the manifest file or <samp>null </samp> if the
37: * file is in a workspace.
38: */
39: public String getInstallLocation();
40:
41: /**
42: * Tests whether this is a model of a fragment bundle.
43: *
44: * @return <code>true</code> if this is a fragment model,
45: * <code>false</code> otherwise.
46: */
47: public boolean isFragmentModel();
48:
49: public IBundleModelFactory getFactory();
50:
51: }
|