# Package org.eclipse.core.runtime

package org.eclipse.core.runtime
Provides support for the runtime platform, core utility methods and the extension registry.

## Package Specification

This package contains three components:

- APIs related to the runtime platform itself (provided by the `org.eclipse.core.runtime` plug-in)
- Various utility types such as `Path`, `IPath` and various flavours of progress monitors (provided by the `org.eclipse.equinox.common` plug-in)
- Extension registry mechanism (provided by the `org.eclipse.equinox.registry` plug-in)

Related Packages
Package
Description
org.eclipse.core.runtime.adaptor
Provides API to start the platform.
org.eclipse.core.runtime.content
Provides core support for content types.
org.eclipse.core.runtime.dynamichelpers
Provides helpers to facilitate the authoring of dynamic plug-ins.
org.eclipse.core.runtime.jobs
Provides core support for scheduling and interacting with background activity.
org.eclipse.core.runtime.preferences
Provides core support for Eclipse preferences.
org.eclipse.core.runtime.spi
Extension registry infrastructure for service providers
Class
Description
Adapters
Provides a standard way to request adapters from adaptable objects
AdapterTypes
Annotation that can be used for components to specify the provided adapter types. example use case
Assert
`Assert` is useful for for embedding runtime sanity checks in code.
AssertionFailedException
`AssertionFailedException` is a runtime exception thrown by some of the methods in `Assert`.
ContributorFactoryOSGi
The contributor factory creates new registry contributors for use in OSGi-based registries.
ContributorFactorySimple
The contributor factory creates new registry contributors for use in a simple registry based on the String representation of the determining object.
CoreException
A checked exception representing a failure.
FileLocator
This class contains a collection of helper methods for finding files in bundles.
IAdaptable
An interface for an adaptable object.
IAdapterFactory
An adapter factory defines behavioral extensions for one or more classes that implements the `IAdaptable` interface.
IAdapterManager
An adapter manager maintains a registry of adapter factories.
IBundleGroup
Bundle groups represent a logical collection of plug-ins (aka bundles).
IBundleGroupProvider
Bundle group providers define groups of plug-ins which have been installed in the current system.
IConfigurationElement
A configuration element, with its attributes and children, directly reflects the content and structure of the extension section within the declaring plug-in's manifest (`plugin.xml`) file.
IContributor
This interface describes a registry contributor - an entity that supplies information to the extension registry.
ICoreRunnable
A functional interface for a runnable that can be cancelled and can report progress using the progress monitor passed to the `ICoreRunnable.run(IProgressMonitor)` method.
IExecutableExtension
Interface for executable extension classes that require access to their configuration element, or implement an extension adapter.
IExecutableExtensionFactory
This interface allows extension providers to control how the instances provided to extension-points are being created by referring to the factory instead of referring to a class.
IExtension
An extension declared in a plug-in.
IExtensionDelta
An extension delta represents changes to the extension registry.
IExtensionPoint
An extension point declared in a plug-in.
IExtensionRegistry
The extension registry holds the master list of all discovered namespaces, extension points and extensions.
ILog
A log to which status events can be written.
ILogListener
A log listener is notified of entries added to a plug-in's log.
InvalidRegistryObjectException
An unchecked exception indicating that an attempt to access an extension registry object that is no longer valid.
IPath
A path is an ordered collection of string segments, separated by a standard separator character, "/".
IProduct
Products are the Eclipse unit of branding.
IProductProvider
Product providers define products (units of branding) which have been installed in the current system.
IProgressMonitor
The `IProgressMonitor` interface is implemented by objects that monitor the progress of an activity; the methods in this interface are invoked by code that performs the activity.
IProgressMonitorWithBlocking
Deprecated.
IRegistryChangeEvent
Registry change events describe changes to the extension registry.
IRegistryChangeListener
Note: for new implementations consider using `IRegistryEventListener`.
IRegistryEventListener
A registry event listener is notified of changes to extension points.
ISafeRunnable
Safe runnables represent blocks of code and associated exception handlers.
ISafeRunnableWithResult<T>
Safe runnables represent blocks of code and associated exception handlers.
IStatus
A status object represents the outcome of an operation.
ListenerList<E>
This class is a thread safe list that is designed for storing lists of listeners.
MultiStatus
A concrete multi-status implementation, suitable either for instantiating or subclassing.
NullProgressMonitor
A default progress monitor implementation suitable for subclassing.
OperationCanceledException
This exception is thrown to blow out of a long-running method when the user cancels it.
Path
The standard implementation of the `IPath` interface.
PerformanceStats
PerformanceStats collects and aggregates timing data about events such as a builder running, an editor opening, etc.
PerformanceStats.PerformanceListener
A performance listener is periodically notified after performance events occur or after events fail.
Platform
The central class of the Eclipse Platform Runtime.
Platform.OS
Convenience class to query for the current OS.
PlatformObject
An abstract superclass implementing the `IAdaptable` interface.
Plugin
The abstract superclass of all plug-in runtime class implementations.
PluginVersionIdentifier
Deprecated, for removal: This API element is subject to removal in a future version.
clients should use `Version` instead
Preferences
Deprecated.
This class is replaced by `IEclipsePreferences`.
Preferences.IPropertyChangeListener
Deprecated.
Preferences.PropertyChangeEvent
Deprecated.
ProgressMonitorWrapper
An abstract wrapper around a progress monitor which, unless overridden, forwards `IProgressMonitor` and `IProgressMonitorWithBlocking` methods to the wrapped progress monitor.
QualifiedName
Qualified names are two-part names: qualifier and local name.
RegistryFactory
Use this class to create or obtain an extension registry.
SafeRunner
Runs the given ISafeRunnable in a protected mode: exceptions and certain errors thrown in the runnable are logged and passed to the runnable's exception handler.
ServiceCaller<S>
`ServiceCaller` provides functional methods for invoking OSGi services in two different ways Single invocations which happen only once or very rarely.
SlicedProgressMonitor
default implementation of a `SlicedProgressMonitor` that synchronizes on the given monitor to report work
Status
A concrete status implementation, suitable either for instantiating or subclassing.
SubMonitor
A progress monitor that uses a given amount of work ticks from a parent monitor.
SubProgressMonitor
Deprecated.
use `SubMonitor` instead
URIUtil
A utility class for manipulating URIs.