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.internal.core.ischema; 12 13 import java.net.URL; 14 15 /** 16 * Classes that implement this interface are responsible for holding the schema 17 * object, loading it and disposing. Schema objects do not know where they are 18 * coming from. Compositors are responsible to provide input streams for loading 19 * and output streams for saving (if schema is editable). 20 */ 21 public interface ISchemaDescriptor { 22 /** 23 * Returns identifier of the extension point defined in this schema. 24 * 25 * @return id of the schema extension point 26 */ 27 public String getPointId(); 28 29 /** 30 * Returns the schema object. If schema has not been loaded, or has been 31 * previously disposed, this method will load it before returning. If 32 * abbreviated, the light-weight schema will not contain descriptions for 33 * elements or the content of documentation sections. 34 * 35 * @return a loaded schema object 36 */ 37 ISchema getSchema(boolean abbreviated); 38 39 /** 40 * Returns the URL of the schema XML file. 41 * 42 * @return the URL of the schema XML file 43 */ 44 URL getSchemaURL(); 45 46 /** 47 * Tests if the descriptor is created outside the registry. 48 * 49 * @return <code>true</code> if the descriptor is outside the registry, 50 * <code>false</code> otherwise. 51 */ 52 boolean isStandalone(); 53 54 long getLastModified(); 55 } 56