<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_22) on Fri Jan 21 20:43:42 GMT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Index (Apache Aries Util 0.3-SNAPSHOT API)
</TITLE>

<META NAME="date" CONTENT="2011-01-21">

<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Index (Apache Aries Util 0.3-SNAPSHOT API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <HR>
<A NAME="_A_"><!-- --></A><H2>
<B>A</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#addExports(java.lang.String...)"><B>addExports(String...)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#addFile(java.lang.String, byte[])"><B>addFile(String, byte[])</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#addImports(java.lang.String...)"><B>addImports(String...)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#addImportsFromExports(org.osgi.framework.Bundle)"><B>addImportsFromExports(Bundle)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html#addingBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent)"><B>addingBundle(Bundle, BundleEvent)</B></A> - 
Method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker">InternalRecursiveBundleTracker</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/AriesFrameworkUtil.html" title="class in org.apache.aries.util"><B>AriesFrameworkUtil</B></A> - Class in <A HREF="./org/apache/aries/util/package-summary.html">org.apache.aries.util</A><DD>&nbsp;<DT><A HREF="./org/apache/aries/util/AriesFrameworkUtil.html#AriesFrameworkUtil()"><B>AriesFrameworkUtil()</B></A> - 
Constructor for class org.apache.aries.util.<A HREF="./org/apache/aries/util/AriesFrameworkUtil.html" title="class in org.apache.aries.util">AriesFrameworkUtil</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_B_"><!-- --></A><H2>
<B>B</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html" title="class in org.apache.aries.util"><B>BundleToClassLoaderAdapter</B></A> - Class in <A HREF="./org/apache/aries/util/package-summary.html">org.apache.aries.util</A><DD><B>Deprecated.</B>&nbsp;<I>Please use AriesFrameworkUtil.getClassLoader to get a class loader for a bundle instead of this class.</I><DT><A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html#BundleToClassLoaderAdapter(org.osgi.framework.Bundle)"><B>BundleToClassLoaderAdapter(Bundle)</B></A> - 
Constructor for class org.apache.aries.util.<A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html" title="class in org.apache.aries.util">BundleToClassLoaderAdapter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html" title="class in org.apache.aries.util.tracker"><B>BundleTrackerFactory</B></A> - Class in <A HREF="./org/apache/aries/util/tracker/package-summary.html">org.apache.aries.util.tracker</A><DD>This is the factory for BundleTracker<DT><A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html#BundleTrackerFactory()"><B>BundleTrackerFactory()</B></A> - 
Constructor for class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html" title="class in org.apache.aries.util.tracker">BundleTrackerFactory</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_C_"><!-- --></A><H2>
<B>C</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.html#close()"><B>close()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/SingleServiceTracker.html" title="class in org.apache.aries.util">SingleServiceTracker</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/tracker/RecursiveBundleTracker.html#close()"><B>close()</B></A> - 
Method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/RecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker">RecursiveBundleTracker</A>
<DD>Stop the tracking of bundles
<DT><A HREF="./org/apache/aries/util/nls/MessageUtil.html#createMessageUtil(java.lang.Class, java.lang.String)"><B>createMessageUtil(Class&lt;?&gt;, String)</B></A> - 
Static method in class org.apache.aries.util.nls.<A HREF="./org/apache/aries/util/nls/MessageUtil.html" title="class in org.apache.aries.util.nls">MessageUtil</A>
<DD>Loads the MessageUtil using the given context.
<DT><A HREF="./org/apache/aries/util/nls/MessageUtil.html#createMessageUtil(java.lang.String)"><B>createMessageUtil(String)</B></A> - 
Static method in class org.apache.aries.util.nls.<A HREF="./org/apache/aries/util/nls/MessageUtil.html" title="class in org.apache.aries.util.nls">MessageUtil</A>
<DD>This method uses the Bundle associated with the caller of this method.
<DT><A HREF="./org/apache/aries/util/nls/MessageUtil.html#createMessageUtil(org.osgi.framework.Bundle, java.lang.String)"><B>createMessageUtil(Bundle, String)</B></A> - 
Static method in class org.apache.aries.util.nls.<A HREF="./org/apache/aries/util/nls/MessageUtil.html" title="class in org.apache.aries.util.nls">MessageUtil</A>
<DD>This method loads the resource bundle backing the MessageUtil from the provided Bundle.
<DT><A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html#customizedProcessBundle(org.osgi.util.tracker.BundleTrackerCustomizer, org.osgi.framework.Bundle, org.osgi.framework.BundleEvent)"><B>customizedProcessBundle(BundleTrackerCustomizer, Bundle, BundleEvent)</B></A> - 
Method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker">InternalRecursiveBundleTracker</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_E_"><!-- --></A><H2>
<B>E</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/VersionRange.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_F_"><!-- --></A><H2>
<B>F</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util"><B>FragmentBuilder</B></A> - Class in <A HREF="./org/apache/aries/util/package-summary.html">org.apache.aries.util</A><DD>&nbsp;<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#FragmentBuilder(org.osgi.framework.Bundle)"><B>FragmentBuilder(Bundle)</B></A> - 
Constructor for class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#FragmentBuilder(org.osgi.framework.Bundle, java.lang.String, java.lang.String)"><B>FragmentBuilder(Bundle, String, String)</B></A> - 
Constructor for class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_G_"><!-- --></A><H2>
<B>G</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html#getAllBundleTracker()"><B>getAllBundleTracker()</B></A> - 
Static method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html" title="class in org.apache.aries.util.tracker">BundleTrackerFactory</A>
<DD>get all bundle tracker registered in this factory
<DT><A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html#getBundle()"><B>getBundle()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html" title="class in org.apache.aries.util">BundleToClassLoaderAdapter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html#getBundleTrackerList(java.lang.String)"><B>getBundleTrackerList(String)</B></A> - 
Static method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html" title="class in org.apache.aries.util.tracker">BundleTrackerFactory</A>
<DD>get bundle tracker based on bundle name and version
<DT><A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html#getBundleTrackerList(java.lang.String, org.osgi.framework.Version)"><B>getBundleTrackerList(String, Version)</B></A> - 
Static method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html" title="class in org.apache.aries.util.tracker">BundleTrackerFactory</A>
<DD>get bundle tracker based on composite bundle's symbolicName and version
<DT><A HREF="./org/apache/aries/util/AriesFrameworkUtil.html#getClassLoader(org.osgi.framework.Bundle)"><B>getClassLoader(Bundle)</B></A> - 
Static method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/AriesFrameworkUtil.html" title="class in org.apache.aries.util">AriesFrameworkUtil</A>
<DD>This method attempts to get the classloader for a bundle.
<DT><A HREF="./org/apache/aries/util/AriesFrameworkUtil.html#getClassLoaderForced(org.osgi.framework.Bundle)"><B>getClassLoaderForced(Bundle)</B></A> - 
Static method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/AriesFrameworkUtil.html" title="class in org.apache.aries.util">AriesFrameworkUtil</A>
<DD>This method attempts to get the classloader for a bundle.
<DT><A HREF="./org/apache/aries/util/VersionRange.html#getExactVersion()"><B>getExactVersion()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#getFragmentBundleName()"><B>getFragmentBundleName()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#getFragmentSymbolicName()"><B>getFragmentSymbolicName()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/VersionRange.html#getMaximumVersion()"><B>getMaximumVersion()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/nls/MessageUtil.html#getMessage(java.lang.String, java.lang.Object...)"><B>getMessage(String, Object...)</B></A> - 
Method in class org.apache.aries.util.nls.<A HREF="./org/apache/aries/util/nls/MessageUtil.html" title="class in org.apache.aries.util.nls">MessageUtil</A>
<DD>This method translates the message and puts the inserts into the message before returning it.
<DT><A HREF="./org/apache/aries/util/VersionRange.html#getMinimumVersion()"><B>getMinimumVersion()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html#getResource(java.lang.String)"><B>getResource(String)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html" title="class in org.apache.aries.util">BundleToClassLoaderAdapter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html#getResourceAsStream(java.lang.String)"><B>getResourceAsStream(String)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html" title="class in org.apache.aries.util">BundleToClassLoaderAdapter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html#getResources(java.lang.String)"><B>getResources(String)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html" title="class in org.apache.aries.util">BundleToClassLoaderAdapter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.html#getService()"><B>getService()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/SingleServiceTracker.html" title="class in org.apache.aries.util">SingleServiceTracker</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.html#getServiceReference()"><B>getServiceReference()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/SingleServiceTracker.html" title="class in org.apache.aries.util">SingleServiceTracker</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_H_"><!-- --></A><H2>
<B>H</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/VersionRange.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_I_"><!-- --></A><H2>
<B>I</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#install(org.osgi.framework.BundleContext)"><B>install(BundleContext)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker"><B>InternalRecursiveBundleTracker</B></A> - Class in <A HREF="./org/apache/aries/util/tracker/package-summary.html">org.apache.aries.util.tracker</A><DD>A BundleTracker which will track bundles in the given context, and also 
 bundles in any child contexts.<DT><A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html#InternalRecursiveBundleTracker(org.osgi.framework.BundleContext, int, org.osgi.util.tracker.BundleTrackerCustomizer)"><B>InternalRecursiveBundleTracker(BundleContext, int, BundleTrackerCustomizer)</B></A> - 
Constructor for class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker">InternalRecursiveBundleTracker</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/VersionRange.html#intersect(org.apache.aries.util.VersionRange)"><B>intersect(VersionRange)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/VersionRange.html#isExactVersion()"><B>isExactVersion()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/VersionRange.html#isMaximumExclusive()"><B>isMaximumExclusive()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/VersionRange.html#isMaximumUnbounded()"><B>isMaximumUnbounded()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/VersionRange.html#isMinimumExclusive()"><B>isMinimumExclusive()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_L_"><!-- --></A><H2>
<B>L</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html#loadClass(java.lang.String)"><B>loadClass(String)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/BundleToClassLoaderAdapter.html" title="class in org.apache.aries.util">BundleToClassLoaderAdapter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
</DL>
<HR>
<A NAME="_M_"><!-- --></A><H2>
<B>M</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/ManifestHeaderUtils.html" title="class in org.apache.aries.util"><B>ManifestHeaderUtils</B></A> - Class in <A HREF="./org/apache/aries/util/package-summary.html">org.apache.aries.util</A><DD>&nbsp;<DT><A HREF="./org/apache/aries/util/ManifestHeaderUtils.html#ManifestHeaderUtils()"><B>ManifestHeaderUtils()</B></A> - 
Constructor for class org.apache.aries.util.<A HREF="./org/apache/aries/util/ManifestHeaderUtils.html" title="class in org.apache.aries.util">ManifestHeaderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/VersionRange.html#matches(org.osgi.framework.Version)"><B>matches(Version)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>This method checks that the provided version matches the desired version.
<DT><A HREF="./org/apache/aries/util/nls/MessageUtil.html" title="class in org.apache.aries.util.nls"><B>MessageUtil</B></A> - Class in <A HREF="./org/apache/aries/util/nls/package-summary.html">org.apache.aries.util.nls</A><DD>This is a helper class for loading messages for logging and exception messages.<DT><A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html#modifiedBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent, java.lang.Object)"><B>modifiedBundle(Bundle, BundleEvent, Object)</B></A> - 
Method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker">InternalRecursiveBundleTracker</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_O_"><!-- --></A><H2>
<B>O</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.html#open()"><B>open()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/SingleServiceTracker.html" title="class in org.apache.aries.util">SingleServiceTracker</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/tracker/RecursiveBundleTracker.html#open()"><B>open()</B></A> - 
Method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/RecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker">RecursiveBundleTracker</A>
<DD>Start tracking bundles that match the bit mask provided at creation time.
<DT><A HREF="./org/apache/aries/util/package-summary.html"><B>org.apache.aries.util</B></A> - package org.apache.aries.util<DD>&nbsp;<DT><A HREF="./org/apache/aries/util/nls/package-summary.html"><B>org.apache.aries.util.nls</B></A> - package org.apache.aries.util.nls<DD>&nbsp;<DT><A HREF="./org/apache/aries/util/tracker/package-summary.html"><B>org.apache.aries.util.tracker</B></A> - package org.apache.aries.util.tracker<DD>&nbsp;</DL>
<HR>
<A NAME="_P_"><!-- --></A><H2>
<B>P</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/VersionRange.html#parseVersionRange(java.lang.String)"><B>parseVersionRange(String)</B></A> - 
Static method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>Parse a version range..
<DT><A HREF="./org/apache/aries/util/VersionRange.html#parseVersionRange(java.lang.String, boolean)"><B>parseVersionRange(String, boolean)</B></A> - 
Static method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>Parse a version range and indicate if the version is an exact version
</DL>
<HR>
<A NAME="_R_"><!-- --></A><H2>
<B>R</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/tracker/RecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker"><B>RecursiveBundleTracker</B></A> - Class in <A HREF="./org/apache/aries/util/tracker/package-summary.html">org.apache.aries.util.tracker</A><DD>This class supports the tracking of composite bundles.<DT><A HREF="./org/apache/aries/util/tracker/RecursiveBundleTracker.html#RecursiveBundleTracker(org.osgi.framework.BundleContext, int, org.osgi.util.tracker.BundleTrackerCustomizer)"><B>RecursiveBundleTracker(BundleContext, int, BundleTrackerCustomizer)</B></A> - 
Constructor for class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/RecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker">RecursiveBundleTracker</A>
<DD>Constructor
<DT><A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html#registerBundleTracker(java.lang.String, org.osgi.util.tracker.BundleTracker)"><B>registerBundleTracker(String, BundleTracker)</B></A> - 
Static method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html" title="class in org.apache.aries.util.tracker">BundleTrackerFactory</A>
<DD>register the bundle tracker
<DT><A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html#removedBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent, java.lang.Object)"><B>removedBundle(Bundle, BundleEvent, Object)</B></A> - 
Method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/InternalRecursiveBundleTracker.html" title="class in org.apache.aries.util.tracker">InternalRecursiveBundleTracker</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_S_"><!-- --></A><H2>
<B>S</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.SingleServiceListener.html#serviceFound()"><B>serviceFound()</B></A> - 
Method in interface org.apache.aries.util.<A HREF="./org/apache/aries/util/SingleServiceTracker.SingleServiceListener.html" title="interface in org.apache.aries.util">SingleServiceTracker.SingleServiceListener</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.SingleServiceListener.html#serviceLost()"><B>serviceLost()</B></A> - 
Method in interface org.apache.aries.util.<A HREF="./org/apache/aries/util/SingleServiceTracker.SingleServiceListener.html" title="interface in org.apache.aries.util">SingleServiceTracker.SingleServiceListener</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.SingleServiceListener.html#serviceReplaced()"><B>serviceReplaced()</B></A> - 
Method in interface org.apache.aries.util.<A HREF="./org/apache/aries/util/SingleServiceTracker.SingleServiceListener.html" title="interface in org.apache.aries.util">SingleServiceTracker.SingleServiceListener</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/FragmentBuilder.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/FragmentBuilder.html" title="class in org.apache.aries.util">FragmentBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.html" title="class in org.apache.aries.util"><B>SingleServiceTracker</B></A>&lt;<A HREF="./org/apache/aries/util/SingleServiceTracker.html" title="type parameter in SingleServiceTracker">T</A>&gt; - Class in <A HREF="./org/apache/aries/util/package-summary.html">org.apache.aries.util</A><DD>&nbsp;<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.html#SingleServiceTracker(org.osgi.framework.BundleContext, java.lang.Class, org.apache.aries.util.SingleServiceTracker.SingleServiceListener)"><B>SingleServiceTracker(BundleContext, Class&lt;T&gt;, SingleServiceTracker.SingleServiceListener)</B></A> - 
Constructor for class org.apache.aries.util.<A HREF="./org/apache/aries/util/SingleServiceTracker.html" title="class in org.apache.aries.util">SingleServiceTracker</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/SingleServiceTracker.SingleServiceListener.html" title="interface in org.apache.aries.util"><B>SingleServiceTracker.SingleServiceListener</B></A> - Interface in <A HREF="./org/apache/aries/util/package-summary.html">org.apache.aries.util</A><DD>&nbsp;<DT><A HREF="./org/apache/aries/util/ManifestHeaderUtils.html#split(java.lang.String, java.lang.String)"><B>split(String, String)</B></A> - 
Static method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/ManifestHeaderUtils.html" title="class in org.apache.aries.util">ManifestHeaderUtils</A>
<DD>Splits a delimiter separated string, tolerating presence of non separator commas
 within double quoted segments.
</DL>
<HR>
<A NAME="_T_"><!-- --></A><H2>
<B>T</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/VersionRange.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_U_"><!-- --></A><H2>
<B>U</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html#unregisterAndCloseBundleTracker(java.lang.String)"><B>unregisterAndCloseBundleTracker(String)</B></A> - 
Static method in class org.apache.aries.util.tracker.<A HREF="./org/apache/aries/util/tracker/BundleTrackerFactory.html" title="class in org.apache.aries.util.tracker">BundleTrackerFactory</A>
<DD>unregister and close the bundle tracker(s) associated with composite
 bundle's - SymbolicName_Version
</DL>
<HR>
<A NAME="_V_"><!-- --></A><H2>
<B>V</B></H2>
<DL>
<DT><A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util"><B>VersionRange</B></A> - Class in <A HREF="./org/apache/aries/util/package-summary.html">org.apache.aries.util</A><DD>&nbsp;<DT><A HREF="./org/apache/aries/util/VersionRange.html#VersionRange(java.lang.String)"><B>VersionRange(String)</B></A> - 
Constructor for class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/aries/util/VersionRange.html#VersionRange(java.lang.String, boolean)"><B>VersionRange(String, boolean)</B></A> - 
Constructor for class org.apache.aries.util.<A HREF="./org/apache/aries/util/VersionRange.html" title="class in org.apache.aries.util">VersionRange</A>
<DD>This method should be used to create a version range from a single
 version string.
</DL>
<HR>
<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> 

<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2009-2011 <a href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
