/* * Copyright (c) OSGi Alliance (2008, 2009). All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.osgi.service.blueprint.container; /** * Event property names used in Event Admin events published by a Blueprint * Container. * * <p> * Each type of event is sent to a different topic: * * <p> * <code>org/osgi/service/blueprint/container/</code><em><event-type></em> * * <p> * where <em><event-type></em> can have the values * {@link BlueprintEvent#CREATING CREATING}, {@link BlueprintEvent#CREATED * CREATED}, {@link BlueprintEvent#DESTROYING DESTROYING}, * {@link BlueprintEvent#DESTROYED DESTROYED}, {@link BlueprintEvent#FAILURE * FAILURE}, {@link BlueprintEvent#GRACE_PERIOD GRACE_PERIOD}, or * {@link BlueprintEvent#WAITING WAITING}. * * <p> * Such events have the following properties: * <ul> * <li>{@link #TYPE type}</li> * <li>{@link #EVENT event}</li> * <li>{@link #TIMESTAMP timestamp}</li> * <li>{@link #BUNDLE bundle}</li> * <li>{@link #BUNDLE_SYMBOLICNAME bundle.symbolicName}</li> * <li>{@link #BUNDLE_ID bundle.id}</li> * <li>{@link #BUNDLE_VERSION bundle.version}</li> * <li>{@link #EXTENDER_BUNDLE_SYMBOLICNAME extender.bundle.symbolicName}</li> * <li>{@link #EXTENDER_BUNDLE_ID extender.bundle.id}</li> * <li>{@link #EXTENDER_BUNDLE_VERSION extender.bundle.version}</li> * <li>{@link #DEPENDENCIES dependencies}</li> * <li>{@link #CAUSE cause}</li> * </ul> * * @Immutable * @version $Revision$ */ public class EventConstants { private EventConstants() { // non-instantiable class } /** * The type of the event that has been issued. This property is of type * <code>Integer</code> and can take one of the values defined in * {@link BlueprintEvent}. */ public static final String TYPE = "type"; /** * The <code>BlueprintEvent</code> object that caused this event. This * property is of type {@link BlueprintEvent}. */ public static final String EVENT = "event"; /** * The time the event was created. This property is of type * <code>Long</code>. */ public static final String TIMESTAMP = "timestamp"; /** * The Blueprint bundle associated with this event. This property is of type * <code>Bundle</code>. */ public static final String BUNDLE = "bundle"; /** * The bundle id of the Blueprint bundle associated with this event. This * property is of type <code>Long</code>. */ public static final String BUNDLE_ID = "bundle.id"; /** * The bundle symbolic name of the Blueprint bundle associated with this * event. This property is of type <code>String</code>. */ public static final String BUNDLE_SYMBOLICNAME = "bundle.symbolicName"; /** * The bundle version of the Blueprint bundle associated with this event. * This property is of type <code>Version</code>. */ public static final String BUNDLE_VERSION = "bundle.version"; /** * The Blueprint extender bundle that is generating this event. This * property is of type <code>Bundle</code>. */ public static final String EXTENDER_BUNDLE = "extender.bundle"; /** * The bundle id of the Blueprint extender bundle that is generating this * event. This property is of type <code>Long</code>. */ public static final String EXTENDER_BUNDLE_ID = "extender.bundle.id"; /** * The bundle symbolic of the Blueprint extender bundle that is generating * this event. This property is of type <code>String</code>. */ public static final String EXTENDER_BUNDLE_SYMBOLICNAME = "extender.bundle.symbolicName"; /** * The bundle version of the Blueprint extender bundle that is generating * this event. This property is of type <code>Version</code>. */ public static final String EXTENDER_BUNDLE_VERSION = "extender.bundle.version"; /** * The filters identifying the missing dependencies that caused this event * for a {@link BlueprintEvent#FAILURE FAILURE}, * {@link BlueprintEvent#GRACE_PERIOD GRACE_PERIOD}, or * {@link BlueprintEvent#WAITING WAITING} event. This property type is an * array of <code>String</code>. */ public static final String DEPENDENCIES = "dependencies"; /** * The cause for a {@link BlueprintEvent#FAILURE FAILURE} event. This * property is of type <code>Throwable</code>. */ public static final String CAUSE = "cause"; /** * Topic prefix for all events issued by the Blueprint Container */ public static final String TOPIC_BLUEPRINT_EVENTS = "org/osgi/service/blueprint/container"; /** * Topic for Blueprint Container CREATING events */ public static final String TOPIC_CREATING = TOPIC_BLUEPRINT_EVENTS + "/CREATING"; /** * Topic for Blueprint Container CREATED events */ public static final String TOPIC_CREATED = TOPIC_BLUEPRINT_EVENTS + "/CREATED"; /** * Topic for Blueprint Container DESTROYING events */ public static final String TOPIC_DESTROYING = TOPIC_BLUEPRINT_EVENTS + "/DESTROYING"; /** * Topic for Blueprint Container DESTROYED events */ public static final String TOPIC_DESTROYED = TOPIC_BLUEPRINT_EVENTS + "/DESTROYED"; /** * Topic for Blueprint Container FAILURE events */ public static final String TOPIC_FAILURE = TOPIC_BLUEPRINT_EVENTS + "/FAILURE"; /** * Topic for Blueprint Container GRACE_PERIOD events */ public static final String TOPIC_GRACE_PERIOD = TOPIC_BLUEPRINT_EVENTS + "/GRACE_PERIOD"; /** * Topic for Blueprint Container WAITING events */ public static final String TOPIC_WAITING = TOPIC_BLUEPRINT_EVENTS + "/WAITING"; }