com.atlassian.plugin.osgi.util
Class OsgiHeaderUtil

java.lang.Object
  extended by com.atlassian.plugin.osgi.util.OsgiHeaderUtil

public class OsgiHeaderUtil
extends Object

Utilities to help create OSGi headers


Constructor Summary
OsgiHeaderUtil()
           
 
Method Summary
static String buildHeader(Map<String,Map<String,String>> values)
          Builds the header string from a map
static String buildHeader(String key, Map<String,String> attrs)
          Builds the header string from a map
static String findReferredPackages(List<HostComponentRegistration> registrations)
          Finds all referred packages for host component registrations by scanning their declared interfaces' bytecode.
static String findReferredPackages(List<HostComponentRegistration> registrations, Map<String,String> packageVersions)
          Finds all referred packages for host component registrations by scanning their declared interfaces' bytecode.
static String getPluginKey(org.osgi.framework.Bundle bundle)
          Gets the plugin key from the bundle WARNING: shamelessly copied at PluginBundleUtils, which can't use this class due to creating a cyclic build dependency.
static String getPluginKey(Manifest mf)
          Gets the plugin key from the jar manifest
static Map<String,Map<String,String>> parseHeader(String header)
          Parses an OSGi header line into a map structure
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OsgiHeaderUtil

public OsgiHeaderUtil()
Method Detail

findReferredPackages

public static String findReferredPackages(List<HostComponentRegistration> registrations)
                                   throws IOException
Finds all referred packages for host component registrations by scanning their declared interfaces' bytecode.

Parameters:
registrations - A list of host component registrations
Returns:
The referred packages in a format compatible with an OSGi header
Throws:
IOException - If there are any problems scanning bytecode
Since:
2.4.0

findReferredPackages

public static String findReferredPackages(List<HostComponentRegistration> registrations,
                                          Map<String,String> packageVersions)
                                   throws IOException
Finds all referred packages for host component registrations by scanning their declared interfaces' bytecode.

Parameters:
registrations - A list of host component registrations
Returns:
The referred packages in a format compatible with an OSGi header
Throws:
IOException - If there are any problems scanning bytecode

parseHeader

public static Map<String,Map<String,String>> parseHeader(String header)
Parses an OSGi header line into a map structure

Parameters:
header - The header line
Returns:
A map with the key the entry value and the value a map of attributes
Since:
2.2.0

buildHeader

public static String buildHeader(Map<String,Map<String,String>> values)
Builds the header string from a map

Parameters:
values - The header values
Returns:
A string, suitable for inclusion into an OSGI header string
Since:
2.6

buildHeader

public static String buildHeader(String key,
                                 Map<String,String> attrs)
Builds the header string from a map

Parameters:
key - The header value
attrs - The map of attributes
Returns:
A string, suitable for inclusion into an OSGI header string
Since:
2.2.0

getPluginKey

public static String getPluginKey(org.osgi.framework.Bundle bundle)
Gets the plugin key from the bundle WARNING: shamelessly copied at PluginBundleUtils, which can't use this class due to creating a cyclic build dependency. Ensure these two implementations are in sync. This method shouldn't be used directly. Instead consider consuming the PluginRetrievalService.

Parameters:
bundle - The plugin bundle
Returns:
The plugin key, cannot be null
Since:
2.2.0

getPluginKey

public static String getPluginKey(Manifest mf)
Gets the plugin key from the jar manifest

Parameters:
mf - The plugin jar manifest
Returns:
The plugin key, cannot be null
Since:
2.2.0


Copyright © 2010 Atlassian. All Rights Reserved.