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.pde.core.plugin; 12 /** 13 * This type of model is created by parsing the manifest file. If the file is 14 * a workspace resource, it will be available as the underlying resource of the 15 * model. The model may be read-only or editable. It will also make a reference 16 * to the build.properties model when created. The reference will be of the same type 17 * as the model itself: if the model is editable, it will attempt to obtain an 18 * exclusive editable copy of build.properties model. 19 * <p> 20 * The plug-in model can be disabled. Disabling the model will not change its 21 * data. Users of the model will have to decide if the disabled state if of any 22 * importance to them or not. 23 * <p> 24 * The model is capable of notifying listeners about changes. An attempt to 25 * change a read-only model will result in a CoreException. 26 */ 27 public interface IPluginModel extends IPluginModelBase { 28 /** 29 * Returns a top-level model object. 30 * 31 * @return a root model instance 32 */ 33 IPlugin getPlugin(); 34 } 35