blob: e1320151f94eae70027718e7345ecd19597b149b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010, 2011 SAP AG 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:
* Kaloyan Raev (SAP AG) - initial API and implementation
*******************************************************************************/
package org.eclipse.libra.facet;
import java.util.ArrayList;
import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.core.databinding.observable.value.SelectObservableValue;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.eclipse.wst.common.project.facet.core.ActionConfig;
public class OSGiBundleFacetUninstallConfig extends ActionConfig {
private SelectObservableValue<OSGiBundleFacetUninstallStrategy> strategyValue;
private ArrayList<WritableValue<Boolean>> optionValues;
public OSGiBundleFacetUninstallConfig() {
Realm realm = OSGiBundleFacetRealm.getRealm();
strategyValue = new SelectObservableValue<OSGiBundleFacetUninstallStrategy>(realm, OSGiBundleFacetUninstallStrategy.class);
final OSGiBundleFacetUninstallStrategy[] values = OSGiBundleFacetUninstallStrategy.values();
optionValues = new ArrayList<WritableValue<Boolean>>(values==null ? 0 : values.length);
if (values!=null) for (final OSGiBundleFacetUninstallStrategy val: values) {
final WritableValue<Boolean> wv = new WritableValue<Boolean>(realm, null, Boolean.class);
optionValues.add(wv);
strategyValue.addOption(val, wv);
}
strategyValue.setValue(OSGiBundleFacetUninstallStrategy.defaultStrategy());
}
public SelectObservableValue<OSGiBundleFacetUninstallStrategy> getStrategyValue() {
return strategyValue;
}
public OSGiBundleFacetUninstallStrategy getStrategy() {
return strategyValue.getValue();
}
public void setStrategy(OSGiBundleFacetUninstallStrategy strategy) {
strategyValue.setValue(strategy);
}
@SuppressWarnings("rawtypes")
public WritableValue[] getOptionValues() {
return optionValues.toArray(new WritableValue[0]);
}
}