Interface ITargetPlatformService


  • public interface ITargetPlatformService
    A service to manage target platform definitions available to the workspace.
    Since:
    3.8
    Restriction:
    This interface is not intended to be implemented by clients.
    • Field Detail

      • STATUS_MISSING_FROM_TARGET_PLATFORM

        static final int STATUS_MISSING_FROM_TARGET_PLATFORM
        Status code indicating that a bundle in a target definition is not contained in the current target platform state (a bundle has been added to the file system that the target platform does not know about).
        See Also:
        Constant Field Values
      • STATUS_MISSING_FROM_TARGET_DEFINITION

        static final int STATUS_MISSING_FROM_TARGET_DEFINITION
        Status code indicating that a bundle in the current target platform state is not contained in a target definition (a bundle has been deleted from the file system that the target platform does not know about).
        See Also:
        Constant Field Values
    • Method Detail

      • getTargets

        ITargetHandle[] getTargets​(IProgressMonitor monitor)
        Returns handles to all target definitions known in the workspace.
        Returns:
        handles to all target definitions known in the workspace
      • getTarget

        ITargetHandle getTarget​(IFile file)
        Returns a handle to a target definition backed by the underlying file. The target definition may or may not exist. If the file does not exist then this is a new target definition which becomes one of the known workspace target definitions when it is saved.
        Parameters:
        file - target definition file that may or may not exist
        Returns:
        target handle
      • getTarget

        ITargetHandle getTarget​(URI uri)
        Returns a handle to a target definition backed by the underlying URI. The target definition may or may not exist. If the URI is valid then this is a new target definition which becomes one of the known external target definitions.
        Parameters:
        uri - target definition URI that may or may not exist
        Returns:
        target handle
      • newTarget

        ITargetDefinition newTarget()
        Returns a new target definition to be stored with local metadata. The target becomes one of the known workspace target definitions when it is saved.
        Returns:
        new empty target definition
      • saveTargetDefinition

        void saveTargetDefinition​(ITargetDefinition definition)
                           throws CoreException
        Persists the given target definition. The target becomes one of known workspace target definitions when it is saved.

        The target is persisted in a location determined by its handle. A handle may refer to an IFile or a workspace metadata location. Any existing target definition at the same location is overwritten.

        Parameters:
        definition - definition to persist
        Throws:
        CoreException - if unable to persist the definition
      • deleteTarget

        void deleteTarget​(ITargetHandle handle)
                   throws CoreException
        Deletes the target definition associated with the given handle.
        Parameters:
        handle - target handle
        Throws:
        CoreException - if the associated target does not exist or deletion fails
      • newDirectoryLocation

        ITargetLocation newDirectoryLocation​(String path)
        Creates and returns a target location that contains all bundles in the specified directory which may contain string substitution variables.
        Parameters:
        path - absolute path in the local file system, may contain string variables
        Returns:
        target location
      • newProfileLocation

        ITargetLocation newProfileLocation​(String home,
                                           String configurationLocation)
        Creates and returns a target location that contains all bundles installed in a profile at the specified location with the specified configuration area. If a configuration area is not specified the default location is used. The specified home location and configuration location may contain string substitution variables.
        Parameters:
        home - absolute path in the local file system to the root of an installed profile which may contain string substitution variables
        configurationLocation - absolute path in the local file system to the configuration area for the specified installation which may contain string substitution variables or null to use the default location
        Returns:
        target location
      • newIULocation

        ITargetLocation newIULocation​(IInstallableUnit[] units,
                                      URI[] repositories,
                                      int resolutionFlags)
        Creates and returns a target location that contains all bundles contained in the specified installable units (IU's) in the given repositories. If repositories are not specified default repositories are searched (based on user preferences).
        Parameters:
        units - installable units
        repositories - URI's describing repository locations or null to use default repositories
        resolutionFlags - bitmask of flags to control IU resolution, possible flags are IUBundleContainer.INCLUDE_ALL_ENVIRONMENTS, IUBundleContainer.INCLUDE_REQUIRED, IUBundleContainer.INCLUDE_SOURCE, IUBundleContainer.INCLUDE_CONFIGURE_PHASE
        Returns:
        target location
      • newIULocation

        ITargetLocation newIULocation​(String[] unitIds,
                                      String[] versions,
                                      URI[] repositories,
                                      int resolutionFlags)
        Creates and returns a target location that contains all bundles contained in the specified installable units (IU's) in the given repositories. If repositories are not specified default repositories are searched (based on user preferences).
        Parameters:
        unitIds - installable unit identifiers
        versions - version identifiers
        repositories - URI's describing repository locations or null to use default repositories
        resolutionFlags - bitmask of flags to control IU resolution, possible flags are IUBundleContainer.INCLUDE_ALL_ENVIRONMENTS, IUBundleContainer.INCLUDE_REQUIRED, IUBundleContainer.INCLUDE_SOURCE, IUBundleContainer.INCLUDE_CONFIGURE_PHASE
        Returns:
        target location
      • newFeatureLocation

        ITargetLocation newFeatureLocation​(String home,
                                           String featureId,
                                           String version)
        Creates and returns a target location that contains all bundles referenced by the feature at the specified location. The location is the directory that defines the feature.
        Parameters:
        home - installation location containing a features directory which may contain string substitution variables
        featureId - feature symbolic name
        version - feature version identifier or null to use most recent available
        Returns:
        target location
      • getWorkspaceTargetHandle

        ITargetHandle getWorkspaceTargetHandle()
                                        throws CoreException
        Returns a handle to the target definition that corresponds to the active target platform or null if none.
        Returns:
        handle to workspace target platform or null if none
        Throws:
        CoreException - if an error occurs generating the handle
      • getWorkspaceTargetDefinition

        ITargetDefinition getWorkspaceTargetDefinition()
                                                throws CoreException
        Returns a ITargetDefinition that corresponds to the active target platform. Will return an empty target definition if no target platform has been specified. Will return a target definition based on deprecated preference settings if no target definition has been created before. Will throw a CoreException if the backing target file does not exist or if there is a problem reading it.

        The returned target definition may have been resolved previously, but this is not guaranteed. It is recommended clients use this method over getWorkspaceTargetHandle().

        Returns:
        a target definition corresponding to the active target platform
        Throws:
        CoreException - if an error occurs loading the workspace target definition
        Since:
        3.10 Added in the Luna 4.4 release
      • compareWithTargetPlatform

        IStatus compareWithTargetPlatform​(ITargetDefinition target)
                                   throws CoreException
        Returns a status describing whether the given target definition is synchronized with workspace's target platform state. It is possible that bundles could have been added/removed from the underlying target location storage making the current target platform state out of synch with the contents of the a definition. The given target definition must already be resolved or this method will return null.

        An OK status is returned when in synch. A multi-status is returned when there are synchronization issues. Null is returned if the target has not been resolved. Each status contains one of the following codes and the name of the associated bundle as a message:

        • STATUS_MISSING_FROM_STATE
        • STATUS_MISSING_FROM_TARGET_DEFINITION

        Parameters:
        target - resolved target definition to compare with target platform state
        Returns:
        status describing whether the target is in synch with target platform state
        Throws:
        CoreException - if comparison fails
      • copyTargetDefinition

        void copyTargetDefinition​(ITargetDefinition from,
                                  ITargetDefinition to)
                           throws CoreException
        Copies all attributes from one target definition to another.
        Parameters:
        from - attributes are copied from this definition
        to - attributes are copied to this definition
        Throws:
        CoreException - in copy fails
      • loadTargetDefinition

        void loadTargetDefinition​(ITargetDefinition definition,
                                  String targetExtensionId)
                           throws CoreException
        Sets the content of the given target definition based on the target file supplied by an org.eclipse.pde.core.targets extension with the specified identifier.
        Parameters:
        definition - target definition to load
        targetExtensionId - identifier of a targets extension
        Throws:
        CoreException - if the extension is not found or an error occurs reading the target file or loading the target definition
      • newDefaultTarget

        ITargetDefinition newDefaultTarget()
        Returns a new target definition with default settings. The default target contains all plug-ins and features from the running host. It uses an explicit configuration area if not equal to the default location.
        Returns:
        a new target definition with default settings