<!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 22:13:36 GMT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
org.osgi.service.blueprint.reflect Class Hierarchy (Apache Aries Blueprint API 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="org.osgi.service.blueprint.reflect Class Hierarchy (Apache Aries Blueprint API 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">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&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;<A HREF="../../../../../org/osgi/service/blueprint/container/package-tree.html"><B>PREV</B></A>&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/osgi/service/blueprint/reflect/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="package-tree.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 ========= -->

<HR>
<CENTER>
<H2>
Hierarchy For Package org.osgi.service.blueprint.reflect
</H2>
</CENTER>
<DL>
<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL>
<HR>
<H2>
Interface Hierarchy
</H2>
<UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/BeanArgument.html" title="interface in org.osgi.service.blueprint.reflect"><B>BeanArgument</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/BeanProperty.html" title="interface in org.osgi.service.blueprint.reflect"><B>BeanProperty</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/MapEntry.html" title="interface in org.osgi.service.blueprint.reflect"><B>MapEntry</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/Metadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>Metadata</B></A><UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/NonNullMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>NonNullMetadata</B></A><UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/CollectionMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>CollectionMetadata</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ComponentMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>ComponentMetadata</B></A><UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/BeanMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>BeanMetadata</B></A> (also extends org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/Target.html" title="interface in org.osgi.service.blueprint.reflect">Target</A>)
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ServiceMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>ServiceMetadata</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>ServiceReferenceMetadata</B></A><UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ReferenceListMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>ReferenceListMetadata</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ReferenceMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>ReferenceMetadata</B></A> (also extends org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/Target.html" title="interface in org.osgi.service.blueprint.reflect">Target</A>)
</UL>
</UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/IdRefMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>IdRefMetadata</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/MapMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>MapMetadata</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/PropsMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>PropsMetadata</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/RefMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>RefMetadata</B></A> (also extends org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/Target.html" title="interface in org.osgi.service.blueprint.reflect">Target</A>)
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/Target.html" title="interface in org.osgi.service.blueprint.reflect"><B>Target</B></A><UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/BeanMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>BeanMetadata</B></A> (also extends org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ComponentMetadata.html" title="interface in org.osgi.service.blueprint.reflect">ComponentMetadata</A>)
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ReferenceMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>ReferenceMetadata</B></A> (also extends org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.html" title="interface in org.osgi.service.blueprint.reflect">ServiceReferenceMetadata</A>)
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/RefMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>RefMetadata</B></A> (also extends org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/NonNullMetadata.html" title="interface in org.osgi.service.blueprint.reflect">NonNullMetadata</A>)
</UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ValueMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>ValueMetadata</B></A></UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/NullMetadata.html" title="interface in org.osgi.service.blueprint.reflect"><B>NullMetadata</B></A></UL>
<LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/ReferenceListener.html" title="interface in org.osgi.service.blueprint.reflect"><B>ReferenceListener</B></A><LI TYPE="circle">org.osgi.service.blueprint.reflect.<A HREF="../../../../../org/osgi/service/blueprint/reflect/RegistrationListener.html" title="interface in org.osgi.service.blueprint.reflect"><B>RegistrationListener</B></A></UL>
<HR>


<!-- ======= 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">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&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;<A HREF="../../../../../org/osgi/service/blueprint/container/package-tree.html"><B>PREV</B></A>&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/osgi/service/blueprint/reflect/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="package-tree.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>
