/*******************************************************************************
* Copyright (c) 2008, 2011 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:
* VMware Inc. - initial contribution
*******************************************************************************/
package org.eclipse.virgo.kernel.userregion.internal.management;
import java.util.List;
import org.eclipse.virgo.kernel.osgi.quasi.QuasiBundle;
import org.eclipse.virgo.kernel.osgi.quasi.QuasiExportPackage;
import org.eclipse.virgo.kernel.osgi.quasi.QuasiImportPackage;
/**
*
*
*/
public class JMXQuasiMinimalBundle {
private final QuasiBundle quasiBundle;
public JMXQuasiMinimalBundle(QuasiBundle quasiBundle) {
this.quasiBundle = quasiBundle;
}
public final long getIdentifier(){
return this.quasiBundle.getBundleId();
}
public final String getSymbolicName(){
return this.quasiBundle.getSymbolicName();
}
public final String getVersion() {
return this.quasiBundle.getVersion().toString();
}
public final String getState() {
if(this.quasiBundle.isResolved()){
return "RESOLVED";
}
return "UNRESOLVED";
}
public final String getRegion() {
return this.quasiBundle.getRegion().getName();
}
public final String getLocation() {
return this.quasiBundle.getBundleLocation();
}
public final boolean getFragment() {
return this.quasiBundle.getFragments() != null && this.quasiBundle.getFragments().size() > 0;
}
public final String[] getExportedPackages() {
List<QuasiExportPackage> exportPackages = this.quasiBundle.getExportPackages();
String[] packages = new String[exportPackages.size()];
int i = 0;
for (QuasiExportPackage quasiExportPackage : exportPackages) {
packages[i] = quasiExportPackage.getPackageName() + ";" + quasiExportPackage.getVersion().toString();
i++;
}
return packages;
}
public final String[] getImportedPackages() {
List<QuasiImportPackage> importPackages = this.quasiBundle.getImportPackages();
String[] packages = new String[importPackages.size()];
int i = 0;
for (QuasiImportPackage quasiImportPackage : importPackages) {
packages[i] = quasiImportPackage.getPackageName() + ";" + quasiImportPackage.getVersionConstraint().toString();
i++;
}
return packages;
}
}