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.ifeature;
11:
12: import java.net.URL;
13:
14: import org.eclipse.core.runtime.CoreException;
15:
16: /**
17: * A URL element is a model object that represents
18: * a single URL reference. The reference has a type
19: * (UPDATE, DISCOVERY or INFO), and an optional
20: * label that should be used to represent the URL
21: * in the UI.
22: */
23: public interface IFeatureURLElement extends IFeatureObject {
24: /**
25: * Indicates that this is an update URL.
26: */
27: public static final int UPDATE = 1;
28: /**
29: * Indicates that this is a discovery URL.
30: */
31: public static final int DISCOVERY = 2;
32: /**
33: * Indicates that the site is a regular update site.
34: */
35: public static final int UPDATE_SITE = 0;
36: /**
37: * Indicates that the site is a Web site.
38: */
39: public static final int WEB_SITE = 1;
40: /**
41: * This property name will be used to notify
42: * about changes in the "URL" field.
43: */
44: public static final String P_URL = "url"; //$NON-NLS-1$
45: /**
46: * This property name will be used to notify
47: * about changes in the 'siteType' field.
48: */
49: public static final String P_SITE_TYPE = "siteType"; //$NON-NLS-1$
50:
51: /**
52: * Returns the type of this URL element (UPDATE or DISCOVERY)
53: */
54: public int getElementType();
55:
56: /**
57: * Returns the type of the site with the specified URL.
58: * @return UPDATE_SITE or WEB_SITE
59: */
60: public int getSiteType();
61:
62: /**
63: * Returns the URL of this element.
64: *
65: * @return the URL
66: */
67: public URL getURL();
68:
69: /**
70: * Sets the URL of this element.
71: * This method will throw a CoreException
72: * if the model is not editable.
73: *
74: * @param url the new URL
75: */
76: public void setURL(URL url) throws CoreException;
77:
78: /**
79: * Sets the type of the site with the specified URL.
80: * @param UPDATE_SITE or WEB_SITE
81: */
82: public void setSiteType(int siteType) throws CoreException;
83: }
|