1 /******************************************************************************* 2 * Copyright (c) 2000, 2005 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 org.eclipse.core.runtime.*; 14 15 /** 16 * Plug-in entry defines a packaging reference from a feature to a plug-in. 17 * It indicates that the referenced plug-in is to be considered as 18 * part of the feature. Note, that this does not necessarily indicate 19 * that the plug-in files are packaged together with any other 20 * feature files. The actual packaging details are determined by the 21 * feature content provider for the feature. 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.PluginEntry 34 * @see org.eclipse.update.core.FeatureContentProvider 35 * @since 2.0 36 */ 37 public interface IPlatformEnvironment extends IAdaptable { 38 39 40 /** 41 * Returns optional operating system specification. 42 * A comma-separated list of os designators defined by the platform. 43 * Indicates this entry should only be installed on one of the specified 44 * os systems. If this attribute is not specified, or is <code>*</code>, the 45 * entry can be installed on all systems (portable implementation). If the 46 47 * This information is used as a hint by the installation and update 48 * support. 49 * 50 * @return the operating system specification, or <code>null</code>. 51 * @since 2.0 52 */ 53 public String getOS(); 54 55 /** 56 * Returns optional system architecture specification. 57 * A comma-separated list of arch designators defined by the platform. 58 * Indicates this entry should only be installed on one of the specified 59 * systems. If this attribute is not specified, or is <code>*</code>, the 60 * entry can be installed on all systems (portable implementation). 61 * 62 * This information is used as a hint by the installation and update 63 * support. 64 * 65 * @return system architecture specification, or <code>null</code>. 66 * @since 2.0 67 */ 68 public String getWS(); 69 70 /** 71 * Returns optional system architecture specification. 72 * A comma-separated list of arch designators defined by the platform. 73 * Indicates this entry should only be installed on one of the specified 74 * systems. If this attribute is not specified, or is <code>*</code>, the 75 * entry can be installed on all systems (portable implementation). 76 * 77 * This information is used as a hint by the installation and update 78 * support. 79 * 80 * @return system architecture specification, or <code>null</code>. 81 * @since 2.0 82 */ 83 public String getOSArch(); 84 85 /** 86 * Returns optional locale specification. 87 * A comma-separated list of locale designators defined by Java. 88 * Indicates this entry should only be installed on a system running 89 * with a compatible locale (using Java locale-matching rules). 90 * If this attribute is not specified, or is <code>*</code>, the entry can 91 * be installed on all systems (language-neutral implementation). 92 * 93 * This information is used as a hint by the installation and update 94 * support. 95 * 96 * @return the locale specification, or <code>null</code>. 97 * @since 2.0 98 */ 99 public String getNL(); 100 101 102 } 103