All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.core.runtime.IProduct Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 *  Copyright (c) 2004, 2007 IBM Corporation and others.
 *
 *  This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License 2.0
 *  which accompanies this distribution, and is available at
 *  https://www.eclipse.org/legal/epl-2.0/
 *
 *  SPDX-License-Identifier: EPL-2.0
 *
 *  Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.core.runtime;

import org.osgi.framework.Bundle;

/**
 * Products are the Eclipse unit of branding.  From the runtime point of view they have
 * a name, id and description and identify the Eclipse application to run.
 * 

* Since the bulk of the branding related information is * specific to the UI, products also carry an arbitrary set of properties. The valid set of * key-value pairs and their interpretation defined by the UI of the target environment. * For example, in the standard Eclipse UI, org.eclipse.ui.branding.IProductConstants * the properties of interest to the UI. Other clients may specify additional properties. *

* Products can be defined directly using extensions to the org.eclipse.core.runtime.products * extension point or by using facilities provided by IProductProvider implementations. *

* For readers familiar with Eclipse 2.1 and earlier, products are roughly equivalent to * primary features. *

* * @see IProductProvider * @since 3.0 */ public interface IProduct { /** * Returns the application associated with this product. This information is used * to guide the runtime as to what application extension to create and execute. * * @return this product's application or null if none */ public String getApplication(); /** * Returns the name of this product. The name is typically used in the title * bar of UI windows. * * @return the name of this product or null if none */ public String getName(); /** * Returns the text description of this product * * @return the description of this product or null if none */ public String getDescription(); /** Returns the unique product id of this product. * * @return the id of this product */ public String getId(); /** * Returns the property of this product with the given key. * null is returned if there is no such key/value pair. * * @param key the name of the property to return * @return the value associated with the given key or null if none */ public String getProperty(String key); /** * Returns the bundle which is responsible for the definition of this product. * Typically this is used as a base for searching for images and other files * that are needed in presenting the product. * * @return the bundle which defines this product or null if none */ public Bundle getDefiningBundle(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy