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.build; 12 13 import org.eclipse.pde.core.IModel; 14 import org.eclipse.pde.core.IModelChangeProvider; 15 /** 16 * This model is created from the "build.properties" file 17 * that defines what source folders in the plug-in are 18 * to be used to build require plug-in Jars. 19 * <p> 20 * If this model is editable, isEditable() will return 21 * true and the model instance will implement IEditable 22 * interface. The model is capable of providing 23 * change notification for the registered listeners. 24 */ 25 public interface IBuildModel extends IModel, IModelChangeProvider { 26 /** 27 * Returns the top-level model object of this model. 28 * 29 * @return a build.properties top-level model object 30 */ 31 IBuild getBuild(); 32 /** 33 * Returns the factory that should be used 34 * to create new instance of model objects. 35 * @return the build.properties model factory 36 */ 37 IBuildModelFactory getFactory(); 38 /** 39 * Returns the location of the file 40 * used to create the model. 41 * 42 * @return the location of the build.properties file 43 * or <samp>null</samp> if the file 44 * is in a workspace. 45 */ 46 String getInstallLocation(); 47 } 48