/*******************************************************************************
* Copyright (c) 2007, 2009 SpringSource, a divison of VMware, Inc.
* 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:
* SpringSource, a divison of VMware, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.virgo.ide.management.remote;
import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/**
* @author Christian Dupuis
*/
public class Bundle implements Serializable {
private static final long serialVersionUID = 228698327431610457L;
private final Set<PackageExport> exports = new HashSet<PackageExport>();
private final String id;
private final Set<PackageImport> imports = new HashSet<PackageImport>();
private final String state;
private final String symbolicName;
private final String version;
private final String location;
private final Map<String, String> headers = new HashMap<String, String>();
private final Set<ServiceReference> registeredServices = new HashSet<ServiceReference>();
private final Set<ServiceReference> servicesInUse = new HashSet<ServiceReference>();
public Bundle(String id, String symbolicName, String version, String state, String location) {
this.symbolicName = symbolicName;
this.version = version;
this.id = id;
this.state = state;
this.location = location;
}
public Map<String, String> getHeaders() {
return headers;
}
public Set<PackageExport> getPackageExports() {
return exports;
}
public String getId() {
return id;
}
public Set<PackageImport> getPackageImports() {
return imports;
}
public String getState() {
return state;
}
public String getSymbolicName() {
return symbolicName;
}
public String getVersion() {
return version;
}
public void addPackageExport(PackageExport pe) {
this.exports.add(pe);
}
public void addPackageImport(PackageImport pi) {
this.imports.add(pi);
}
public void addRegisteredService(ServiceReference pi) {
this.registeredServices.add(pi);
}
public void addUsingService(ServiceReference pi) {
this.servicesInUse.add(pi);
}
public void addHeader(String key, String value) {
this.headers.put(key, value);
}
public String getLocation() {
return location;
}
public Set<ServiceReference> getRegisteredServices() {
return registeredServices;
}
public Set<ServiceReference> getServicesInUse() {
return servicesInUse;
}
}