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