/****************************************************************************** * Copyright (c) 2006, 2010 VMware Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Apache License v2.0 which accompanies this distribution. * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html and the Apache License v2.0 * is available at http://www.opensource.org/licenses/apache2.0.php. * You may elect to redistribute this code under either of these licenses. * * Contributors: * VMware Inc. *****************************************************************************/ package org.eclipse.gemini.blueprint.bundle; import org.springframework.core.enums.StaticLabeledEnum; import org.springframework.core.enums.StaticLabeledEnumResolver; /** * Enum-like class for the {@link org.osgi.framework.Bundle} actions supported by {@link BundleFactoryBean}. * * @author Costin Leau * @depreated As of Spring DM 2.0, replaced by {@link BundleActionEnum} */ public class BundleAction extends StaticLabeledEnum { private static final long serialVersionUID = 3723986124669884703L; /** * Install bundle. This action is implied by {@link #START} and {@link #UPDATE} in case no bundle is found in the * existing OSGi BundleContext. * * @see org.osgi.framework.BundleContext#installBundle(String) */ public static final BundleAction INSTALL = new BundleAction(1, "install"); /** * Start bundle. If no bundle is found, it will try first to install one based on the existing configuration. * * @see org.osgi.framework.Bundle#start() */ public static final BundleAction START = new BundleAction(2, "start"); /** * Update bundle. If no bundle is found, it will try first to install one based on the existing configuration. * * @see org.osgi.framework.Bundle#update() */ public static final BundleAction UPDATE = new BundleAction(3, "update"); /** * Stop bundle. If no bundle is found, this action does nothing (it will trigger loading). * * @see org.osgi.framework.Bundle#stop() */ public static final BundleAction STOP = new BundleAction(4, "stop"); /** * Uninstall bundle. If no bundle is found, this action does nothing (it will trigger loading). * * @see org.osgi.framework.Bundle#uninstall() */ public static final BundleAction UNINSTALL = new BundleAction(5, "uninstall"); /** * Constructs a new <code>BundleAction</code> instance. * * @param code * @param label */ private BundleAction(int code, String label) { super(code, label); } BundleActionEnum getBundleActionEnum() { return BundleActionEnum.valueOf(this.getLabel().toUpperCase()); } static BundleAction getBundleAction(BundleActionEnum enm) { return (BundleAction) StaticLabeledEnumResolver.instance().getLabeledEnumByLabel(BundleAction.class, enm.name().toLowerCase()); } }