KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > update > core > IFeatureFactory


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.update.core;
12
13 import java.net.URL JavaDoc;
14
15 import org.eclipse.core.runtime.CoreException;
16 import org.eclipse.core.runtime.IProgressMonitor;
17
18 /**
19  * Feature factory interface.
20  * A feature factory is used to construct new instances of concrete
21  * features.
22  * <p>
23  * Clients may implement this interface. However, in most cases clients should
24  * directly instantiate or subclass the provided implementation of this
25  * interface.
26  * </p>
27  * <p>
28  * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
29  * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
30  * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
31  * (repeatedly) as the API evolves.
32  * </p>
33  * @see org.eclipse.update.core.BaseFeatureFactory
34  * @since 2.0
35  */

36 public interface IFeatureFactory {
37
38     /**
39      * Returns a feature defined by the supplied URL. The feature
40      * is associated with the specified site.
41      * <p>
42      * The actual interpretation of the URL is feature-type specific.
43      * In most cases the URL will point to some feature-specific
44      * file that can be used (directly or indirectly) to construct
45      * the feature object.
46      * </p>
47      * @param url URL interpreted by the feature
48      * @param site site to be associated with the feature
49      * @return concrete feature object
50      * @exception CoreException
51      * @deprecated use createFeature(URL, ISite, IProgressMonitor) instead
52      * @since 2.0
53      */

54     public IFeature createFeature(URL JavaDoc url, ISite site) throws CoreException;
55     
56     /**
57      * Returns a feature defined by the supplied URL. The feature
58      * is associated with the specified site.
59      * <p>
60      * The actual interpretation of the URL is feature-type specific.
61      * In most cases the URL will point to some feature-specific
62      * file that can be used (directly or indirectly) to construct
63      * the feature object.
64      * </p>
65      * @param url URL interpreted by the feature
66      * @param site site to be associated with the feature
67      * @return concrete feature object
68      * @exception CoreException
69      * @since 2.1
70      */

71     public IFeature createFeature(URL JavaDoc url, ISite site, IProgressMonitor monitor) throws CoreException;
72 }
73
Popular Tags