com.springsource.bundlor.support.contributors
Class OsgiProfileManifestTemplateModifier

java.lang.Object
  extended by com.springsource.bundlor.support.contributors.OsgiProfileManifestTemplateModifier
All Implemented Interfaces:
ManifestTemplateModifier

public final class OsgiProfileManifestTemplateModifier
extends java.lang.Object
implements ManifestTemplateModifier

A modifer that reads the standard OSGi properties for boot delegation and system package exports and adds automatic manifest template headers for them.

Concurrent Semantics
Threadsafe

Author:
Ben Hale

Field Summary
private  java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> bootDelegation
           
private static java.lang.String BOOTDELEGATION
           
private static java.lang.String EXCLUDED_IMPORTS
           
private static java.lang.String IMPORT_TEMPLATE
           
private static java.lang.String SYSTEM_PACKAGE_IMPORT_VERSION
           
private static java.lang.String SYSTEM_PACKAGES
           
private  java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> systemPackages
           
private static java.lang.String VERSION
           
 
Constructor Summary
OsgiProfileManifestTemplateModifier(java.util.Properties properties)
           
 
Method Summary
private  java.lang.String createValueString(java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> existingHeaders, java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> additionalHeaders)
           
 void modify(com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
          Modify the manifest template before the template is used to create the bundle manifest
private  java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> parseTemplate(java.lang.String template)
           
private  void writeHeader(com.springsource.util.osgi.manifest.parse.HeaderDeclaration header, java.lang.StringBuilder sb)
           
private  void writeMap(java.util.Map<java.lang.String,java.lang.String> map, java.lang.StringBuilder sb, java.lang.String delimiter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SYSTEM_PACKAGE_IMPORT_VERSION

private static final java.lang.String SYSTEM_PACKAGE_IMPORT_VERSION
See Also:
Constant Field Values

VERSION

private static final java.lang.String VERSION
See Also:
Constant Field Values

EXCLUDED_IMPORTS

private static final java.lang.String EXCLUDED_IMPORTS
See Also:
Constant Field Values

IMPORT_TEMPLATE

private static final java.lang.String IMPORT_TEMPLATE
See Also:
Constant Field Values

SYSTEM_PACKAGES

private static final java.lang.String SYSTEM_PACKAGES
See Also:
Constant Field Values

BOOTDELEGATION

private static final java.lang.String BOOTDELEGATION
See Also:
Constant Field Values

systemPackages

private final java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> systemPackages

bootDelegation

private final java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> bootDelegation
Constructor Detail

OsgiProfileManifestTemplateModifier

public OsgiProfileManifestTemplateModifier(java.util.Properties properties)
Method Detail

modify

public void modify(com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
Modify the manifest template before the template is used to create the bundle manifest

Specified by:
modify in interface ManifestTemplateModifier
Parameters:
manifestTemplate - the template to modify

createValueString

private java.lang.String createValueString(java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> existingHeaders,
                                           java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> additionalHeaders)

writeHeader

private void writeHeader(com.springsource.util.osgi.manifest.parse.HeaderDeclaration header,
                         java.lang.StringBuilder sb)

writeMap

private void writeMap(java.util.Map<java.lang.String,java.lang.String> map,
                      java.lang.StringBuilder sb,
                      java.lang.String delimiter)

parseTemplate

private java.util.List<com.springsource.util.osgi.manifest.parse.HeaderDeclaration> parseTemplate(java.lang.String template)