1 36 package org.ungoverned.oscar; 37 38 import org.osgi.framework.Bundle; 39 import org.osgi.service.packageadmin.ExportedPackage; 40 41 class ExportedPackageImpl implements ExportedPackage 42 { 43 private Oscar m_oscar = null; 44 private BundleImpl m_exporter = null; 45 private String m_name = null; 46 private int[] m_version = null; 47 private String m_toString = null; 48 private String m_versionString = null; 49 50 public ExportedPackageImpl( 51 Oscar oscar, BundleImpl exporter, String name, int[] version) 52 { 53 m_oscar = oscar; 54 m_exporter = exporter; 55 m_name = name; 56 m_version = version; 57 } 58 59 public Bundle getExportingBundle() 60 { 61 if (m_exporter.getInfo().isRemovalPending()) 64 { 65 return null; 66 } 67 return m_exporter; 68 } 69 70 78 protected Bundle getExportingBundleInternal() 79 { 80 return m_exporter; 81 } 82 83 public Bundle[] getImportingBundles() 84 { 85 if (m_exporter.getInfo().isRemovalPending()) 88 { 89 return null; 90 } 91 return m_oscar.getImportingBundles(this); 92 } 93 94 public String getName() 95 { 96 return m_name; 97 } 98 99 public String getSpecificationVersion() 100 { 101 if (m_versionString == null) 102 { 103 if (m_version == null) 104 { 105 m_versionString = "0.0.0"; 106 } 107 else 108 { 109 m_versionString = 110 "" + m_version[0] + "." + m_version[1] + "." + m_version[2]; 111 } 112 } 113 return m_versionString; 114 } 115 116 public boolean isRemovalPending() 117 { 118 return m_exporter.getInfo().isRemovalPending(); 119 } 120 121 public String toString() 122 { 123 if (m_toString == null) 124 { 125 m_toString = m_name 126 + "; specification-version=" + getSpecificationVersion(); 127 } 128 return m_toString; 129 } 130 }
| Popular Tags
|