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.*; 14 15 import org.eclipse.core.runtime.*; 16 17 /** 18 * Site content provider. 19 * A site content provider is an abstraction of each site internal 20 * organization. It allows the site content to be accessed in 21 * a standard way regardless of the internal organization. All concrete site 22 * implementations need to implement a site content provider. 23 * <p> 24 * Clients may implement this interface. However, in most cases clients should 25 * directly instantiate or subclass the provided implementation of this 26 * interface. 27 * </p> 28 * <p> 29 * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to 30 * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 31 * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 32 * (repeatedly) as the API evolves. 33 * </p> 34 * @see org.eclipse.update.core.SiteContentProvider 35 * @since 2.0 36 */ 37 38 public interface ISiteContentProvider { 39 40 /** 41 * Returns the URL of this site 42 * 43 * @return site URL 44 * @since 2.0 45 */ 46 public URL getURL(); 47 48 49 /** 50 * Returns a URL for the identified archive 51 * 52 * @param id archive identifier 53 * @return archive URL, or <code>null</code>. 54 * @exception CoreException 55 * @since 2.0 56 */ 57 public URL getArchiveReference(String id) throws CoreException; 58 59 /** 60 * Returns the site for this provider 61 * 62 * @return provider site 63 * @since 2.0 64 */ 65 public ISite getSite(); 66 67 /** 68 * Sets the site for this provider. 69 * In general, this method should only be called as part of 70 * site creation. Once set, the site should not be reset. 71 * 72 * @param site provider site 73 * @since 2.0 74 */ 75 public void setSite(ISite site); 76 } 77 78 79