blob: 5c8281dfe79ef3fc606b1118c73c514c1e4c684c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2006 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.equinox.internal.app;
import java.util.HashMap;
import org.eclipse.core.runtime.*;
import org.osgi.framework.Bundle;
public class ProductExtensionBranding implements IBranding{
private static final String ATTR_DESCRIPTION = "description"; //$NON-NLS-1$
private static final String ATTR_NAME = "name"; //$NON-NLS-1$
private static final String ATTR_APPLICATION = "application"; //$NON-NLS-1$
private static final String ATTR_VALUE = "value"; //$NON-NLS-1$
String application = null;
String name = null;
String id = null;
String description = null;
HashMap properties;
Bundle definingBundle = null;
public ProductExtensionBranding(String id, IConfigurationElement element) {
this.id = id;
if (element == null)
return;
application = element.getAttribute(ATTR_APPLICATION);
name = element.getAttribute(ATTR_NAME);
description = element.getAttribute(ATTR_DESCRIPTION);
loadProperties(element);
}
private void loadProperties(IConfigurationElement element) {
IConfigurationElement[] children = element.getChildren();
properties = new HashMap(children.length);
for (int i = 0; i < children.length; i++) {
IConfigurationElement child = children[i];
String key = child.getAttribute(ATTR_NAME);
String value = child.getAttribute(ATTR_VALUE);
if (key != null && value != null)
properties.put(key, value);
}
definingBundle = Activator.getBundle(element.getContributor());
}
public Bundle getDefiningBundle() {
return definingBundle;
}
public String getApplication() {
return application;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public String getId() {
return id;
}
public String getProperty(String key) {
return (String) properties.get(key);
}
public Object getProduct() {
return null;
}
}