| 
OSGi™ Service Platform Release 4 Version 4.2  | 
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface DeploymentPackage
The DeploymentPackage object represents a deployment package
 (already installed or being currently processed). A Deployment Package groups
 resources as a unit of management. A deployment package is something that can
 be installed, updated, and uninstalled as a unit. A deployment package is a
 reified concept, like a bundle, in an OSGi Service Platform. It is not known
 by the OSGi Framework, but it is managed by the Deployment Admin service. A
 deployment package is a stream of resources (including bundles) which, once
 processed, will result in new artifacts (effects on the system) being added
 to the OSGi platform. These new artifacts can include installed Bundles, new
 configuration objects added to the Configuration Admin service, new Wire
 objects added to the Wire Admin service, or changed system properties, etc.
 All the changes caused by the processing of a deployment package are
 persistently associated with the deployment package, so that they can be
 appropriately cleaned up when the deployment package is uninstalled. There is
 a strict no overlap rule imposed on deployment packages. Two deployment
 packages are not allowed to create or manipulate the same artifact.
 Obviously, this means that a bundle cannot be in two different deployment
 packages. Any violation of this no overlap rule is considered an error and
 the install or update of the offending deployment package must be aborted.
 
The Deployment Admin service should do as much as possible to ensure transactionality. It means that if a deployment package installation, update or removal (uninstall) fails all the side effects caused by the process should be disappeared and the system should be in the state in which it was before the process.
 
 If a deployment package is being updated the old version is visible through
 the DeploymentPackage interface until the update process ends.
 After the package is updated the updated version is visible and the old one
 is not accessible any more.
| Field Summary | |
|---|---|
static java.lang.String | 
EVENT_DEPLOYMENTPACKAGE_CURRENTVERSION
The currently installed version of the Deployment Package.  | 
static java.lang.String | 
EVENT_DEPLOYMENTPACKAGE_NAME
The name of the Deployment Package.  | 
static java.lang.String | 
EVENT_DEPLOYMENTPACKAGE_NEXTVERSION
The version of DP after the successful completion of the install operation (used in INSTALL event only).  | 
static java.lang.String | 
EVENT_DEPLOYMENTPACKAGE_READABLENAME
The human readable name of the DP localized to the default locale.  | 
| Method Summary | |
|---|---|
 boolean | 
equals(java.lang.Object other)
Indicates whether some other object is "equal to" this one.  | 
 Bundle | 
getBundle(java.lang.String symbolicName)
Returns the bundle instance, which is part of this deployment package, that corresponds to the bundle's symbolic name passed in the symbolicName parameter. | 
 BundleInfo[] | 
getBundleInfos()
Returns an array of BundleInfo objects representing the bundles
 specified in the manifest of this deployment package. | 
 java.lang.String | 
getDisplayName()
Returns the Deployment Package human readable name.  | 
 java.lang.String | 
getHeader(java.lang.String header)
Returns the requested deployment package manifest header from the main section.  | 
 java.net.URL | 
getIcon()
Returns a URL pointing to an image that represents the icon for this Deployment Package.  | 
 java.lang.String | 
getName()
Returns the Deployment Package Symbolic Name of the package.  | 
 java.lang.String | 
getResourceHeader(java.lang.String resource,
                  java.lang.String header)
Returns the requested deployment package manifest header from the name section determined by the resource parameter.  | 
 ServiceReference | 
getResourceProcessor(java.lang.String resource)
At the time of deployment, resource processor service instances are located to resources contained in a deployment package.  | 
 java.lang.String[] | 
getResources()
Returns an array of strings representing the resources (including bundles) that are specified in the manifest of this deployment package.  | 
 Version | 
getVersion()
Returns the version of the deployment package.  | 
 int | 
hashCode()
Returns a hash code value for the object.  | 
 boolean | 
isStale()
Gives back the state of the deployment package whether it is stale or not).  | 
 void | 
uninstall()
Uninstalls the deployment package.  | 
 boolean | 
uninstallForced()
This method is called to completely uninstall a deployment package, which couldn't be uninstalled using traditional means ( uninstall())
 due to exceptions. | 
| Field Detail | 
|---|
static final java.lang.String EVENT_DEPLOYMENTPACKAGE_NAME
static final java.lang.String EVENT_DEPLOYMENTPACKAGE_READABLENAME
static final java.lang.String EVENT_DEPLOYMENTPACKAGE_CURRENTVERSION
static final java.lang.String EVENT_DEPLOYMENTPACKAGE_NEXTVERSION
| Method Detail | 
|---|
boolean isStale()
IllegalStateException. Active methods are the following:
 
true if the deployment package is stale.
         false otherwiseuninstall(), 
uninstallForced()java.lang.String getName()
java.lang.String getDisplayName()
DeploymentPackage-Name manifest header using the default
 locale. If no header is set, this method will return null.
null if header is not set.Version getVersion()
BundleInfo[] getBundleInfos()
BundleInfo objects representing the bundles
 specified in the manifest of this deployment package. Its size is equal
 to the number of the bundles in the deployment package.
BundleInfo objects
java.lang.SecurityException - if the caller doesn't have the appropriate
             DeploymentAdminPermission with "metadata" actionjava.net.URL getIcon()
DeploymentPackage-Icon header can set an icon for the
 the deployment package. This method returns an absolute URL that is
 defined by this header. The Deployment Admin service must provide this
 icon as a local resource. That is, the Deployment Admin must make a local
 copy of the specified icon. The returned URL's must point to
 a local resource.
null if not foundBundle getBundle(java.lang.String symbolicName)
symbolicName parameter. This method will return null for
 request for bundles that are not part of this deployment package.
 As this instance is transient (i.e. a bundle can be removed at any time because of the dynamic nature of the OSGi platform), this method may also return null if the bundle is part of this deployment package, but is not currently defined to the framework.
symbolicName - the symbolic name of the requested bundle
Bundle instance for a given bundle symbolic
         name.
java.lang.SecurityException - if the caller doesn't have the appropriate
             DeploymentAdminPermission with "metadata" action
java.lang.IllegalStateException - if the package is stalejava.lang.String[] getResources()
E.g. if the "Name" section of the resource (or individual-section as the Manifest Specification calls it) in the manifest is the following
     Name: foo/readme.txt
     Resource-Processor: foo.rp
 
 
 then the corresponding array element is the "foo/readme.txt" string.
 
java.lang.SecurityException - if the caller doesn't have the appropriate
             DeploymentAdminPermission with "metadata" actionServiceReference getResourceProcessor(java.lang.String resource)
This call returns a service reference to the corresponding service instance. If the resource is not part of the deployment package or this call is made during deployment, prior to the locating of the service to process a given resource, null will be returned. Services can be updated after a deployment package has been deployed. In this event, this call will return a reference to the updated service, not to the instance that was used at deployment time.
resource - the name of the resource (it is the same as the value of the
            "Name" attribute in the deployment package's manifest)
null.
java.lang.SecurityException - if the caller doesn't have the appropriate DeploymentAdminPermission 
         with "metadata" action
java.lang.IllegalStateException - if the package is stalejava.lang.String getHeader(java.lang.String header)
If the header is localized then the localized value is returned (see OSGi Service Platform, Mobile Specification Release 4 - Localization related chapters).
header - the requested header
null if the header does
         not exist
java.lang.SecurityException - if the caller doesn't have the appropriate
             DeploymentAdminPermission with "metadata" action
java.lang.String getResourceHeader(java.lang.String resource,
                                   java.lang.String header)
If the header is localized then the localized value is returned (see OSGi Service Platform, Mobile Specification Release 4 - Localization related chapters).
resource - the name of the resource (it is the same as the value of the
            "Name" attribute in the deployment package's manifest)header - the requested header
null if the resource or
         the header doesn't exist
java.lang.SecurityException - if the caller doesn't have the appropriate
             DeploymentAdminPermission with "metadata" action
void uninstall()
               throws DeploymentException
isStale(), which will return true when stale.
 
DeploymentException - if the deployment package could not be successfully
             uninstalled. For detailed error code description see
             DeploymentException.
java.lang.SecurityException - if the caller doesn't have the appropriate
             DeploymentAdminPermission("<filter>",
             "uninstall") permission.
java.lang.IllegalStateException - if the package is stale
boolean uninstallForced()
                        throws DeploymentException
uninstall())
 due to exceptions. After uninstallation, the deployment package object
 becomes stale. This can be checked by using isStale(), which
 will return true when stale.
 
 
 The method forces removal of the Deployment Package from the repository
 maintained by the Deployment Admin service. This method follows the same
 steps as uninstall(). However, any errors or the absence of
 Resource Processor services are ignored, they must not cause a roll back.
 These errors should be logged.
DeploymentException - only DeploymentException.CODE_TIMEOUT and
             DeploymentException.CODE_CANCELLED can be thrown. For
             detailed error code description see
             DeploymentException.
java.lang.SecurityException - if the caller doesn't have the appropriate
             DeploymentAdminPermission("<filter>",
             "uninstall_forced") permission.
java.lang.IllegalStateException - if the package is staleint hashCode()
hashCode in class java.lang.Objectboolean equals(java.lang.Object other)
equals in class java.lang.Objectother - the reference object with which to compare.
other argument; false
         otherwise.
  | 
OSGi™ Service Platform Release 4 Version 4.2  | 
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||