org.apache.felix.framework.util.manifestparser
Class ManifestParser

java.lang.Object
  extended by org.apache.felix.framework.util.manifestparser.ManifestParser

public class ManifestParser
extends java.lang.Object


Field Summary
static int CLAUSE_ATTRIBUTES_INDEX
           
static int CLAUSE_DIRECTIVES_INDEX
           
static int CLAUSE_PATHS_INDEX
           
 
Constructor Summary
ManifestParser(Logger logger, java.util.Map configMap, java.util.Map headerMap)
           
 
Method Summary
 org.osgi.framework.Version getBundleVersion()
           
 ICapability[] getCapabilities()
           
 IRequirement[] getDynamicRequirements()
           
 R4Library[] getLibraries()
           This method returns the selected native library metadata from the manifest.
 R4LibraryClause[] getLibraryClauses()
           
 java.lang.String getManifestVersion()
           
 IRequirement[] getRequirements()
           
 java.lang.String getSymbolicName()
           
static java.lang.String[] parseDelimitedString(java.lang.String value, java.lang.String delim)
          Parses delimited string and returns an array containing the tokens.
static ICapability[] parseExportHeader(java.lang.String header)
           
static R4Directive parseExtensionBundleHeader(java.lang.String header)
           
static IRequirement[] parseImportHeader(java.lang.String header)
           
static R4LibraryClause[] parseLibraryStrings(Logger logger, java.lang.String[] libStrs)
          Parses native code manifest headers.
static IRequirement[] parseRequireBundleHeader(java.lang.String header)
           
static java.lang.Object[][][] parseStandardHeader(java.lang.String header)
           
static java.lang.Object[][] parseStandardHeaderClause(java.lang.String clauseString)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLAUSE_PATHS_INDEX

public static final int CLAUSE_PATHS_INDEX
See Also:
Constant Field Values

CLAUSE_DIRECTIVES_INDEX

public static final int CLAUSE_DIRECTIVES_INDEX
See Also:
Constant Field Values

CLAUSE_ATTRIBUTES_INDEX

public static final int CLAUSE_ATTRIBUTES_INDEX
See Also:
Constant Field Values
Constructor Detail

ManifestParser

public ManifestParser(Logger logger,
                      java.util.Map configMap,
                      java.util.Map headerMap)
               throws org.osgi.framework.BundleException
Throws:
org.osgi.framework.BundleException
Method Detail

getManifestVersion

public java.lang.String getManifestVersion()

getSymbolicName

public java.lang.String getSymbolicName()

getBundleVersion

public org.osgi.framework.Version getBundleVersion()

getCapabilities

public ICapability[] getCapabilities()

getRequirements

public IRequirement[] getRequirements()

getDynamicRequirements

public IRequirement[] getDynamicRequirements()

getLibraryClauses

public R4LibraryClause[] getLibraryClauses()

getLibraries

public R4Library[] getLibraries()
                         throws org.osgi.framework.BundleException

This method returns the selected native library metadata from the manifest. The information is not the raw metadata from the manifest, but is native library metadata clause selected according to the OSGi native library clause selection policy. The metadata returned by this method will be attached directly to a module and used for finding its native libraries at run time. To inspect the raw native library metadata refer to getLibraryClauses().

Returns:
an array of selected library metadata objects from the manifest.
Throws:
org.osgi.framework.BundleException - if any problems arise.

parseExportHeader

public static ICapability[] parseExportHeader(java.lang.String header)

parseImportHeader

public static IRequirement[] parseImportHeader(java.lang.String header)

parseRequireBundleHeader

public static IRequirement[] parseRequireBundleHeader(java.lang.String header)

parseExtensionBundleHeader

public static R4Directive parseExtensionBundleHeader(java.lang.String header)

parseStandardHeader

public static java.lang.Object[][][] parseStandardHeader(java.lang.String header)

parseStandardHeaderClause

public static java.lang.Object[][] parseStandardHeaderClause(java.lang.String clauseString)
                                                      throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

parseDelimitedString

public static java.lang.String[] parseDelimitedString(java.lang.String value,
                                                      java.lang.String delim)
Parses delimited string and returns an array containing the tokens. This parser obeys quotes, so the delimiter character will be ignored if it is inside of a quote. This method assumes that the quote character is not included in the set of delimiter characters.

Parameters:
value - the delimited string to parse.
delim - the characters delimiting the tokens.
Returns:
an array of string tokens or null if there were no tokens.

parseLibraryStrings

public static R4LibraryClause[] parseLibraryStrings(Logger logger,
                                                    java.lang.String[] libStrs)
                                             throws java.lang.IllegalArgumentException
Parses native code manifest headers.

Parameters:
libStrs - an array of native library manifest header strings from the bundle manifest.
Returns:
an array of LibraryInfo objects for the passed in strings.
Throws:
java.lang.IllegalArgumentException