| /******************************************************************************* |
| * Copyright (c) 2003, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.osgi.framework.internal.core; |
| |
| import java.util.EventObject; |
| |
| /** |
| * StartLevel Event for the OSGi framework. |
| * |
| * Event which signifies that a start level change has been requested for the framework or for a bundle. |
| * |
| */ |
| class StartLevelEvent extends EventObject { |
| private static final long serialVersionUID = 3258125839085155891L; |
| public final static int CHANGE_BUNDLE_SL = 0x00000000; |
| public final static int CHANGE_FW_SL = 0x00000001; |
| |
| /** |
| * Event Type |
| */ |
| private transient int type; |
| |
| /** |
| * StartLevel - value depends on event type: |
| * CHANGE_BUNDLE_SL - value is the new bundle startlevel |
| * CHANGE_FW_SL - value is the new framework startlevel |
| * |
| */ |
| private transient int newSl; |
| |
| /** |
| * For a change in bundle startlevel, this is the bundle to be changed. |
| * For a change in framework startlevel, this is the bundle requesting the change. |
| */ |
| private transient AbstractBundle bundle; |
| |
| /** |
| * Creates a StartLevel event regarding the specified bundle. |
| * |
| * @param type The type of startlevel event (inc or dec) |
| * @param newSl the ultimate requested startlevel we are on our way to |
| * @param bundle The affected bundle, or system bundle if it is for the framework |
| */ |
| public StartLevelEvent(int type, int newSl, AbstractBundle bundle) { |
| super(bundle); |
| this.type = type; |
| this.newSl = newSl; |
| this.bundle = bundle; |
| } |
| |
| public int getType() { |
| return this.type; |
| } |
| |
| public int getNewSL() { |
| return this.newSl; |
| } |
| |
| public AbstractBundle getBundle() { |
| return this.bundle; |
| } |
| |
| } |