blob: d9659c34ffc50060ac27524bab3910fefbaa8aef [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_25) on Tue Oct 08 19:30:27 CEST 2013 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>InstanceManager (Apache Felix iPOJO ~ JavaDoc 1.10.1 API)</title>
<meta name="date" content="2013-10-08">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="InstanceManager (Apache Felix iPOJO ~ JavaDoc 1.10.1 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/InstanceManager.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/felix/ipojo/HandlerManagerFactory.HandlerTypeDescription.html" title="class in org.apache.felix.ipojo"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/felix/ipojo/InstanceManager.html" target="_top">Frames</a></li>
<li><a href="InstanceManager.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.felix.ipojo</div>
<h2 title="Class InstanceManager" class="title">Class InstanceManager</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.felix.ipojo.InstanceManager</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a>, <a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo">InstanceStateListener</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/apache/felix/ipojo/HandlerManager.html" title="class in org.apache.felix.ipojo">HandlerManager</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.41">InstanceManager</a>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a>, <a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo">InstanceStateListener</a></pre>
<div class="block">This class defines the container of primitive instances. It manages content initialization
and handlers cooperation.</div>
<dl><dt><span class="strong">Author:</span></dt>
<dd><a href="mailto:dev@felix.apache.org">Felix Project Team</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_className">m_className</a></strong></code>
<div class="block">The name of the component type implementation class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_clazz">m_clazz</a></strong></code>
<div class="block">The manipulated class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_constructorRegistration">m_constructorRegistration</a></strong></code>
<div class="block">the map (sorted by parameter index) or <a href="../../../../org/apache/felix/ipojo/ConstructorInjector.html" title="interface in org.apache.felix.ipojo"><code>ConstructorInjector</code></a> interested by
injecting constructor parameter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_context">m_context</a></strong></code>
<div class="block">The bundle context of the instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../org/apache/felix/ipojo/PrimitiveInstanceDescription.html" title="class in org.apache.felix.ipojo">PrimitiveInstanceDescription</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_description">m_description</a></strong></code>
<div class="block">The instance description.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../org/apache/felix/ipojo/ComponentFactory.html" title="class in org.apache.felix.ipojo">ComponentFactory</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_factory">m_factory</a></strong></code>
<div class="block">The instance factory.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_factoryMethod">m_factoryMethod</a></strong></code>
<div class="block">The factory method used to create content objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_fieldRegistration">m_fieldRegistration</a></strong></code>
<div class="block">The map [field, <a href="../../../../org/apache/felix/ipojo/FieldInterceptor.html" title="interface in org.apache.felix.ipojo"><code>FieldInterceptor</code></a> list] storing interceptors monitoring fields.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_fields">m_fields</a></strong></code>
<div class="block">The map of [field, value], storing POJO managed
field value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/felix/ipojo/HandlerManager.html" title="class in org.apache.felix.ipojo">HandlerManager</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_handlers">m_handlers</a></strong></code>
<div class="block">The handler object list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_inTransition">m_inTransition</a></strong></code>
<div class="block">Is the component instance state changing?</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_listeners">m_listeners</a></strong></code>
<div class="block">The instance state listener list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../org/apache/felix/ipojo/util/Logger.html" title="class in org.apache.felix.ipojo.util">Logger</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_logger">m_logger</a></strong></code>
<div class="block">The instance logger.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_methodRegistration">m_methodRegistration</a></strong></code>
<div class="block">the map [method identifier, <a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html" title="interface in org.apache.felix.ipojo"><code>MethodInterceptor</code></a> list] interested
by the method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_methods">m_methods</a></strong></code>
<div class="block">The Map storing the Method objects by ids.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_name">m_name</a></strong></code>
<div class="block">The name of the component instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_pojoObjects">m_pojoObjects</a></strong></code>
<div class="block">The content of the current instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_state">m_state</a></strong></code>
<div class="block">The current instance state (<a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#STOPPED"><code>ComponentInstance.STOPPED</code></a> at the beginning).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_stateQueue">m_stateQueue</a></strong></code>
<div class="block">The queue of stored state changed.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.felix.ipojo.ComponentInstance">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.apache.felix.ipojo.<a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></h3>
<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#DISPOSED">DISPOSED</a>, <a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#INVALID">INVALID</a>, <a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#STOPPED">STOPPED</a>, <a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#VALID">VALID</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#InstanceManager(org.apache.felix.ipojo.ComponentFactory, org.osgi.framework.BundleContext, org.apache.felix.ipojo.HandlerManager[])">InstanceManager</a></strong>(<a href="../../../../org/apache/felix/ipojo/ComponentFactory.html" title="class in org.apache.felix.ipojo">ComponentFactory</a>&nbsp;factory,
<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;context,
<a href="../../../../org/apache/felix/ipojo/HandlerManager.html" title="class in org.apache.felix.ipojo">HandlerManager</a>[]&nbsp;handlers)</code>
<div class="block">Creates a new Component Manager.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#addInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)">addInstanceStateListener</a></strong>(<a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo">InstanceStateListener</a>&nbsp;listener)</code>
<div class="block">Registers an instance state listener.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#configure(org.apache.felix.ipojo.metadata.Element, java.util.Dictionary)">configure</a></strong>(<a href="../../../../org/apache/felix/ipojo/metadata/Element.html" title="class in org.apache.felix.ipojo.metadata">Element</a>&nbsp;metadata,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Dictionary.html?is-external=true" title="class or interface in java.util">Dictionary</a>&nbsp;configuration)</code>
<div class="block">Configures the instance manager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#createObject()">createObject</a></strong>()</code>
<div class="block">Creates a POJO objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#createPojoObject()">createPojoObject</a></strong>()</code>
<div class="block">Creates an instance of the content.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#deletePojoObject(java.lang.Object)">deletePojoObject</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo)</code>
<div class="block">Deletes a POJO object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#dispose()">dispose</a></strong>()</code>
<div class="block">Disposes the instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getClassName()">getClassName</a></strong>()</code>
<div class="block">Gets the implementation class of the component type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getClazz()">getClazz</a></strong>()</code>
<div class="block">Gets the manipulated class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getContext()">getContext</a></strong>()</code>
<div class="block">Gets the bundle context used by this component instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/ipojo/ComponentFactory.html" title="class in org.apache.felix.ipojo">ComponentFactory</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getFactory()">getFactory</a></strong>()</code>
<div class="block">Gets the factory which has created the current instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getFieldValue(java.lang.String)">getFieldValue</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName)</code>
<div class="block">Gives access to a field value of the first created pojo.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getFieldValue(java.lang.String, java.lang.Object)">getFieldValue</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo)</code>
<div class="block">Gives access to a field value to the given created pojo.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getGlobalContext()">getGlobalContext</a></strong>()</code>
<div class="block">Gets the global bundle context.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/ipojo/Handler.html" title="class in org.apache.felix.ipojo">Handler</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getHandler(java.lang.String)">getHandler</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Returns a specified handler.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/ipojo/architecture/InstanceDescription.html" title="class in org.apache.felix.ipojo.architecture">InstanceDescription</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getInstanceDescription()">getInstanceDescription</a></strong>()</code>
<div class="block">Gets the description of the current instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getInstanceName()">getInstanceName</a></strong>()</code>
<div class="block">Gets the instance name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/ipojo/ServiceContext.html" title="interface in org.apache.felix.ipojo">ServiceContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getLocalServiceContext()">getLocalServiceContext</a></strong>()</code>
<div class="block">Gets the local service context.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/ipojo/util/Logger.html" title="class in org.apache.felix.ipojo.util">Logger</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getLogger()">getLogger</a></strong>()</code>
<div class="block">The instance logger.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Member.html?is-external=true" title="class or interface in java.lang.reflect">Member</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getMethodById(java.lang.String)">getMethodById</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodId)</code>
<div class="block">Computes the <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect"><code>Method</code></a> object from the given id.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getPojoObject()">getPojoObject</a></strong>()</code>
<div class="block">Gets the first object created by the instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getPojoObjects()">getPojoObjects</a></strong>()</code>
<div class="block">Gets the object array created by the instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/ipojo/Handler.html" title="class in org.apache.felix.ipojo">Handler</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getRegisteredHandlers()">getRegisteredHandlers</a></strong>()</code>
<div class="block">Gets the list of handlers plugged (i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getRegistredFields()">getRegistredFields</a></strong>()</code>
<div class="block">Gets the list of registered fields (containing field names).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getRegistredMethods()">getRegistredMethods</a></strong>()</code>
<div class="block">Gets the list of registered methods (containing method ids).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#getState()">getState</a></strong>()</code>
<div class="block">Gets the actual state of the instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#handleBCInjections()">handleBCInjections</a></strong>()</code>
<div class="block">BundleContext injection is not registered with the InstanceManager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#isStarted()">isStarted</a></strong>()</code>
<div class="block">Checks if the instance is started.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#load()">load</a></strong>()</code>
<div class="block">Loads the manipulated class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#managedInjectedObject()">managedInjectedObject</a></strong>()</code>
<div class="block">Configures an injected object in this container.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#onEntry(java.lang.Object, java.lang.String, java.lang.Object[])">onEntry</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodId,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;args)</code>
<div class="block">Dispatches entry method events on registered method interceptors.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#onError(java.lang.Object, java.lang.String, java.lang.Throwable)">onError</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodId,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</code>
<div class="block">Dispatches error method events on registered method interceptors.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#onExit(java.lang.Object, java.lang.String, java.lang.Object)">onExit</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodId,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;result)</code>
<div class="block">Dispatches exit method events on registered method interceptors.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#onGet(java.lang.Object, java.lang.String)">onGet</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName)</code>
<div class="block">This method is called by the manipulated class each time that a GETFIELD instruction is executed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#onSet(java.lang.Object, java.lang.String, java.lang.Object)">onSet</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;objectValue)</code>
<div class="block">This method is called by the manipulated class each time that a PUTFIELD instruction is executed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#reconfigure(java.util.Dictionary)">reconfigure</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Dictionary.html?is-external=true" title="class or interface in java.util">Dictionary</a>&nbsp;configuration)</code>
<div class="block">Reconfigures the current instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(org.apache.felix.ipojo.parser.FieldMetadata, org.apache.felix.ipojo.FieldInterceptor)">register</a></strong>(<a href="../../../../org/apache/felix/ipojo/parser/FieldMetadata.html" title="class in org.apache.felix.ipojo.parser">FieldMetadata</a>&nbsp;field,
<a href="../../../../org/apache/felix/ipojo/FieldInterceptor.html" title="interface in org.apache.felix.ipojo">FieldInterceptor</a>&nbsp;interceptor)</code>
<div class="block">Registers a field interceptor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(int, org.apache.felix.ipojo.ConstructorInjector)">register</a></strong>(int&nbsp;index,
<a href="../../../../org/apache/felix/ipojo/ConstructorInjector.html" title="interface in org.apache.felix.ipojo">ConstructorInjector</a>&nbsp;injector)</code>
<div class="block">Registers a constructor injector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(org.apache.felix.ipojo.parser.MethodMetadata, org.apache.felix.ipojo.MethodInterceptor)">register</a></strong>(<a href="../../../../org/apache/felix/ipojo/parser/MethodMetadata.html" title="class in org.apache.felix.ipojo.parser">MethodMetadata</a>&nbsp;method,
<a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html" title="interface in org.apache.felix.ipojo">MethodInterceptor</a>&nbsp;interceptor)</code>
<div class="block">Registers a method interceptor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(org.apache.felix.ipojo.parser.MethodMetadata, java.lang.String, org.apache.felix.ipojo.MethodInterceptor)">register</a></strong>(<a href="../../../../org/apache/felix/ipojo/parser/MethodMetadata.html" title="class in org.apache.felix.ipojo.parser">MethodMetadata</a>&nbsp;method,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;innerClass,
<a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html" title="interface in org.apache.felix.ipojo">MethodInterceptor</a>&nbsp;interceptor)</code>
<div class="block">Registers a method interceptor on a methods from an inner class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(org.apache.felix.ipojo.PrimitiveHandler, org.apache.felix.ipojo.parser.FieldMetadata[], org.apache.felix.ipojo.parser.MethodMetadata[])">register</a></strong>(<a href="../../../../org/apache/felix/ipojo/PrimitiveHandler.html" title="class in org.apache.felix.ipojo">PrimitiveHandler</a>&nbsp;handler,
<a href="../../../../org/apache/felix/ipojo/parser/FieldMetadata.html" title="class in org.apache.felix.ipojo.parser">FieldMetadata</a>[]&nbsp;fields,
<a href="../../../../org/apache/felix/ipojo/parser/MethodMetadata.html" title="class in org.apache.felix.ipojo.parser">MethodMetadata</a>[]&nbsp;methods)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>use <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(org.apache.felix.ipojo.parser.FieldMetadata, org.apache.felix.ipojo.FieldInterceptor)"><code>register(FieldMetadata, FieldInterceptor)</code></a>
and <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(org.apache.felix.ipojo.parser.MethodMetadata, org.apache.felix.ipojo.MethodInterceptor)"><code>register(MethodMetadata, MethodInterceptor)</code></a> instead.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#removeInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)">removeInstanceStateListener</a></strong>(<a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo">InstanceStateListener</a>&nbsp;listener)</code>
<div class="block">Unregisters an instance state listener.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#setState(int)">setState</a></strong>(int&nbsp;state)</code>
<div class="block">Sets the state of the component instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#start()">start</a></strong>()</code>
<div class="block">Starts the instance manager.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#stateChanged(org.apache.felix.ipojo.ComponentInstance, int)">stateChanged</a></strong>(<a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a>&nbsp;instance,
int&nbsp;newState)</code>
<div class="block">State Change listener callback.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/ipojo/InstanceManager.html#stop()">stop</a></strong>()</code>
<div class="block">Stops the instance manager.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="m_name">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_name</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.45">m_name</a></pre>
<div class="block">The name of the component instance.</div>
</li>
</ul>
<a name="m_className">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_className</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.50">m_className</a></pre>
<div class="block">The name of the component type implementation class.</div>
</li>
</ul>
<a name="m_handlers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_handlers</h4>
<pre>protected final&nbsp;<a href="../../../../org/apache/felix/ipojo/HandlerManager.html" title="class in org.apache.felix.ipojo">HandlerManager</a>[] <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.55">m_handlers</a></pre>
<div class="block">The handler object list.</div>
</li>
</ul>
<a name="m_state">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_state</h4>
<pre>protected&nbsp;int <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.65">m_state</a></pre>
<div class="block">The current instance state (<a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#STOPPED"><code>ComponentInstance.STOPPED</code></a> at the beginning).
Possible value are
<li><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#INVALID"><code>ComponentInstance.INVALID</code></a></li>
<li><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#VALID"><code>ComponentInstance.VALID</code></a></li>
<li><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#DISPOSED"><code>ComponentInstance.DISPOSED</code></a></li>
<li><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#STOPPED"><code>ComponentInstance.STOPPED</code></a></li></div>
</li>
</ul>
<a name="m_listeners">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_listeners</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.71">m_listeners</a></pre>
<div class="block">The instance state listener list.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo"><code>InstanceStateListener</code></a></dd></dl>
</li>
</ul>
<a name="m_pojoObjects">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_pojoObjects</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.76">m_pojoObjects</a></pre>
<div class="block">The content of the current instance.</div>
</li>
</ul>
<a name="m_factory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_factory</h4>
<pre>private final&nbsp;<a href="../../../../org/apache/felix/ipojo/ComponentFactory.html" title="class in org.apache.felix.ipojo">ComponentFactory</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.81">m_factory</a></pre>
<div class="block">The instance factory.</div>
</li>
</ul>
<a name="m_logger">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_logger</h4>
<pre>private final&nbsp;<a href="../../../../org/apache/felix/ipojo/util/Logger.html" title="class in org.apache.felix.ipojo.util">Logger</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.86">m_logger</a></pre>
<div class="block">The instance logger.</div>
</li>
</ul>
<a name="m_description">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_description</h4>
<pre>private final&nbsp;<a href="../../../../org/apache/felix/ipojo/PrimitiveInstanceDescription.html" title="class in org.apache.felix.ipojo">PrimitiveInstanceDescription</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.91">m_description</a></pre>
<div class="block">The instance description.</div>
</li>
</ul>
<a name="m_context">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_context</h4>
<pre>private final&nbsp;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.96">m_context</a></pre>
<div class="block">The bundle context of the instance.</div>
</li>
</ul>
<a name="m_fieldRegistration">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_fieldRegistration</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.102">m_fieldRegistration</a></pre>
<div class="block">The map [field, <a href="../../../../org/apache/felix/ipojo/FieldInterceptor.html" title="interface in org.apache.felix.ipojo"><code>FieldInterceptor</code></a> list] storing interceptors monitoring fields.
Once configured, this map can't change.</div>
</li>
</ul>
<a name="m_methodRegistration">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_methodRegistration</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.109">m_methodRegistration</a></pre>
<div class="block">the map [method identifier, <a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html" title="interface in org.apache.felix.ipojo"><code>MethodInterceptor</code></a> list] interested
by the method.
Once configured, this map can't change.</div>
</li>
</ul>
<a name="m_constructorRegistration">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_constructorRegistration</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.116">m_constructorRegistration</a></pre>
<div class="block">the map (sorted by parameter index) or <a href="../../../../org/apache/felix/ipojo/ConstructorInjector.html" title="interface in org.apache.felix.ipojo"><code>ConstructorInjector</code></a> interested by
injecting constructor parameter.
Once configured, this list can't change.</div>
</li>
</ul>
<a name="m_clazz">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_clazz</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.122">m_clazz</a></pre>
<div class="block">The manipulated class.
Once set, this field doesn't change.</div>
</li>
</ul>
<a name="m_factoryMethod">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_factoryMethod</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.129">m_factoryMethod</a></pre>
<div class="block">The factory method used to create content objects.
If <code>null</code>, the regular constructor is used.
Once set, this field is immutable.</div>
</li>
</ul>
<a name="m_inTransition">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_inTransition</h4>
<pre>private&nbsp;boolean <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.134">m_inTransition</a></pre>
<div class="block">Is the component instance state changing?</div>
</li>
</ul>
<a name="m_stateQueue">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_stateQueue</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.139">m_stateQueue</a></pre>
<div class="block">The queue of stored state changed.</div>
</li>
</ul>
<a name="m_fields">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_fields</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.145">m_fields</a></pre>
<div class="block">The map of [field, value], storing POJO managed
field value.</div>
</li>
</ul>
<a name="m_methods">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_methods</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a> <a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.151">m_methods</a></pre>
<div class="block">The Map storing the Method objects by ids.
[id=><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect"><code>Method</code></a>].</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="InstanceManager(org.apache.felix.ipojo.ComponentFactory, org.osgi.framework.BundleContext, org.apache.felix.ipojo.HandlerManager[])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>InstanceManager</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.161">InstanceManager</a>(<a href="../../../../org/apache/felix/ipojo/ComponentFactory.html" title="class in org.apache.felix.ipojo">ComponentFactory</a>&nbsp;factory,
<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;context,
<a href="../../../../org/apache/felix/ipojo/HandlerManager.html" title="class in org.apache.felix.ipojo">HandlerManager</a>[]&nbsp;handlers)</pre>
<div class="block">Creates a new Component Manager.
The instance is not initialized.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>factory</code> - the factory managing the instance manager</dd><dd><code>context</code> - the bundle context to give to the instance</dd><dd><code>handlers</code> - handler object array</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getLogger()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogger</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/ipojo/util/Logger.html" title="class in org.apache.felix.ipojo.util">Logger</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.173">getLogger</a>()</pre>
<div class="block">The instance logger.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the logger</dd></dl>
</li>
</ul>
<a name="configure(org.apache.felix.ipojo.metadata.Element, java.util.Dictionary)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.185">configure</a>(<a href="../../../../org/apache/felix/ipojo/metadata/Element.html" title="class in org.apache.felix.ipojo.metadata">Element</a>&nbsp;metadata,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Dictionary.html?is-external=true" title="class or interface in java.util">Dictionary</a>&nbsp;configuration)
throws <a href="../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Configures the instance manager.
Sets the class name, and the instance name as well as the factory method.
Initializes handlers.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>metadata</code> - the component type metadata</dd><dd><code>configuration</code> - the configuration of the instance</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></code> - if the metadata are not correct</dd></dl>
</li>
</ul>
<a name="handleBCInjections()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleBCInjections</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.228">handleBCInjections</a>()
throws <a href="../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">BundleContext injection is not registered with the InstanceManager.
We're iterating through factory's all constructors and register first
BundleContext parameter as constructor injection. So rest of the code
don't have to do anything to handle BundleContext mixed with other
injections.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></code></dd></dl>
</li>
</ul>
<a name="getInstanceDescription()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstanceDescription</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/ipojo/architecture/InstanceDescription.html" title="class in org.apache.felix.ipojo.architecture">InstanceDescription</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.289">getInstanceDescription</a>()</pre>
<div class="block">Gets the description of the current instance.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getInstanceDescription()">getInstanceDescription</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the instance description.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getInstanceDescription()"><code>ComponentInstance.getInstanceDescription()</code></a></dd></dl>
</li>
</ul>
<a name="getRegisteredHandlers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisteredHandlers</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/ipojo/Handler.html" title="class in org.apache.felix.ipojo">Handler</a>[]&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.298">getRegisteredHandlers</a>()</pre>
<div class="block">Gets the list of handlers plugged (i.e. attached) on the instance.
This method does not need a synchronized block as the handler set is constant.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the handler array of plugged handlers.</dd></dl>
</li>
</ul>
<a name="getHandler(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHandler</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/ipojo/Handler.html" title="class in org.apache.felix.ipojo">Handler</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.313">getHandler</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Returns a specified handler.
This method allows cross-handler interactions.
This must does not need a synchronized block as the handler set is constant.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the class name of the handler to find or its qualified name (namespace:name)</dd>
<dt><span class="strong">Returns:</span></dt><dd>the handler, or null if not found</dd></dl>
</li>
</ul>
<a name="getFieldValue(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldValue</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.330">getFieldValue</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName)</pre>
<div class="block">Gives access to a field value of the first created pojo.
This method processes by analyzing both managed fields and pojo fields (by reflection).
If no pojo were already created try only on managed fields.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>fieldName</code> - the field name.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the field value, <code>null</code> is returned if the value is managed and not already set.</dd></dl>
</li>
</ul>
<a name="getFieldValue(java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldValue</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.346">getFieldValue</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo)</pre>
<div class="block">Gives access to a field value to the given created pojo.
This method processes by analyzing both managed fields and pojo fields (by reflection).
If the given pojo is <code>null</code>, tries only on managed fields.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>fieldName</code> - the field name.</dd><dd><code>pojo</code> - the pojo on which computing field value.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the field value, <code>null</code> is returned if the value is managed and not already set.</dd></dl>
</li>
</ul>
<a name="start()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.381">start</a>()</pre>
<div class="block">Starts the instance manager.
This method activates plugged handlers,
and computes the initial instance state.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#start()">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
</dl>
</li>
</ul>
<a name="stop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.427">stop</a>()</pre>
<div class="block">Stops the instance manager.
This methods sets the instance state to <a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#STOPPED"><code>ComponentInstance.STOPPED</code></a>,
disables attached handlers, and notifies listeners (<a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo"><code>InstanceStateListener</code></a>)
of the instance stopping process.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#stop()">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
</dl>
</li>
</ul>
<a name="dispose()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispose</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.469">dispose</a>()</pre>
<div class="block">Disposes the instance.
This method does the following process:
<li>Stop the instance is not <a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#STOPPED"><code>ComponentInstance.STOPPED</code></a></li>
<li>Notifies listeners <a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo"><code>InstanceStateListener</code></a> of the destruction</li>
<li>Disposes attached handlers</li>
<li>Clears structures</li></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#dispose()">dispose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#dispose()"><code>ComponentInstance.dispose()</code></a></dd></dl>
</li>
</ul>
<a name="setState(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setState</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.511">setState</a>(int&nbsp;state)</pre>
<div class="block">Sets the state of the component instance.
If the state changes, calls the <a href="../../../../org/apache/felix/ipojo/Handler.html#stateChanged(int)"><code>Handler.stateChanged(int)</code></a> method on the attached handlers.
This method has a reentrant mechanism. If in the flow of the first call the method is called another times,
the second call is stored and executed after the first one finished.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>state</code> - the new state</dd></dl>
</li>
</ul>
<a name="getState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.584">getState</a>()</pre>
<div class="block">Gets the actual state of the instance.
Possible values are:
<li><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#INVALID"><code>ComponentInstance.INVALID</code></a></li>
<li><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#VALID"><code>ComponentInstance.VALID</code></a></li>
<li><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#DISPOSED"><code>ComponentInstance.DISPOSED</code></a></li>
<li><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#STOPPED"><code>ComponentInstance.STOPPED</code></a></li></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getState()">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the actual state of the component instance.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getState()"><code>ComponentInstance.getState()</code></a></dd></dl>
</li>
</ul>
<a name="isStarted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isStarted</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.595">isStarted</a>()</pre>
<div class="block">Checks if the instance is started.
An instance is started if the state is either
<a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#VALID"><code>ComponentInstance.VALID</code></a> or <a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#INVALID"><code>ComponentInstance.INVALID</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#isStarted()">isStarted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the instance is started.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#isStarted()"><code>ComponentInstance.isStarted()</code></a></dd></dl>
</li>
</ul>
<a name="addInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addInstanceStateListener</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.604">addInstanceStateListener</a>(<a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo">InstanceStateListener</a>&nbsp;listener)</pre>
<div class="block">Registers an instance state listener.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#addInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)">addInstanceStateListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>listener</code> - the listener to register.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#addInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)"><code>ComponentInstance.addInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)</code></a></dd></dl>
</li>
</ul>
<a name="removeInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeInstanceStateListener</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.616">removeInstanceStateListener</a>(<a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo">InstanceStateListener</a>&nbsp;listener)</pre>
<div class="block">Unregisters an instance state listener.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#removeInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)">removeInstanceStateListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>listener</code> - the listener to unregister.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#removeInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)"><code>ComponentInstance.removeInstanceStateListener(org.apache.felix.ipojo.InstanceStateListener)</code></a></dd></dl>
</li>
</ul>
<a name="getFactory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFactory</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/ipojo/ComponentFactory.html" title="class in org.apache.felix.ipojo">ComponentFactory</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.630">getFactory</a>()</pre>
<div class="block">Gets the factory which has created the current instance.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getFactory()">getFactory</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the factory of the component</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getFactory()"><code>ComponentInstance.getFactory()</code></a></dd></dl>
</li>
</ul>
<a name="load()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>load</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.637">load</a>()</pre>
<div class="block">Loads the manipulated class.</div>
</li>
</ul>
<a name="getPojoObjects()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPojoObjects</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.651">getPojoObjects</a>()</pre>
<div class="block">Gets the object array created by the instance.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the created content objects of the component instance.</dd></dl>
</li>
</ul>
<a name="createObject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createObject</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.669">createObject</a>()</pre>
<div class="block">Creates a POJO objects.
This method is not synchronized and does not require any locks.
If a <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_factoryMethod"><code>m_factoryMethod</code></a> is specified,
this method called this static method to creates the object.
Otherwise, the methods uses the regular constructor.
All those methods can receive the <a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework"><code>BundleContext</code></a> in
argument.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the created object or <code>null</code> if an error
occurs during the creation.</dd></dl>
</li>
</ul>
<a name="createPojoObject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createPojoObject</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.871">createPojoObject</a>()</pre>
<div class="block">Creates an instance of the content.
This method needs to be called once only for singleton provided service.
This methods call the <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#createObject()"><code>createObject()</code></a> method, and adds
the created object to the <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_pojoObjects"><code>m_pojoObjects</code></a> list. Then,
it calls the <a href="../../../../org/apache/felix/ipojo/PrimitiveHandler.html#onCreation(java.lang.Object)"><code>PrimitiveHandler.onCreation(Object)</code></a> methods on attached
handlers.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a new instance or <code>null</code> if an error occurs during the
creation.</dd></dl>
</li>
</ul>
<a name="deletePojoObject(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deletePojoObject</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.894">deletePojoObject</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo)</pre>
<div class="block">Deletes a POJO object.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pojo</code> - the pojo to remove from the list of created pojos.</dd></dl>
</li>
</ul>
<a name="getPojoObject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPojoObject</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.916">getPojoObject</a>()</pre>
<div class="block">Gets the first object created by the instance.
If no object created, creates and returns a POJO object.
This methods call the <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#createObject()"><code>createObject()</code></a> method, and adds
the created object to the <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#m_pojoObjects"><code>m_pojoObjects</code></a> list. Then,
it calls the <a href="../../../../org/apache/felix/ipojo/PrimitiveHandler.html#onCreation(java.lang.Object)"><code>PrimitiveHandler.onCreation(Object)</code></a> methods on attached
handlers.
<br/>
<p>
<b>TODO</b> this method has a potential race condition if two threads require a pojo
object at the same time. Only one object will be created, but the second thread
can receive the created object before the <a href="../../../../org/apache/felix/ipojo/PrimitiveHandler.html#onCreation(java.lang.Object)"><code>PrimitiveHandler.onCreation(Object)</code></a>
calls.
</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the pojo object of the component instance to use for singleton component</dd></dl>
</li>
</ul>
<a name="getClazz()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClazz</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.949">getClazz</a>()</pre>
<div class="block">Gets the manipulated class.
The method does not need to be synchronized.
Reassigning the internal class will use the same class object.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the manipulated class</dd></dl>
</li>
</ul>
<a name="managedInjectedObject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>managedInjectedObject</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.959">managedInjectedObject</a>()</pre>
<div class="block">Configures an injected object in this container.</div>
</li>
</ul>
<a name="register(org.apache.felix.ipojo.PrimitiveHandler, org.apache.felix.ipojo.parser.FieldMetadata[], org.apache.felix.ipojo.parser.MethodMetadata[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1002">register</a>(<a href="../../../../org/apache/felix/ipojo/PrimitiveHandler.html" title="class in org.apache.felix.ipojo">PrimitiveHandler</a>&nbsp;handler,
<a href="../../../../org/apache/felix/ipojo/parser/FieldMetadata.html" title="class in org.apache.felix.ipojo.parser">FieldMetadata</a>[]&nbsp;fields,
<a href="../../../../org/apache/felix/ipojo/parser/MethodMetadata.html" title="class in org.apache.felix.ipojo.parser">MethodMetadata</a>[]&nbsp;methods)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>use <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(org.apache.felix.ipojo.parser.FieldMetadata, org.apache.felix.ipojo.FieldInterceptor)"><code>register(FieldMetadata, FieldInterceptor)</code></a>
and <a href="../../../../org/apache/felix/ipojo/InstanceManager.html#register(org.apache.felix.ipojo.parser.MethodMetadata, org.apache.felix.ipojo.MethodInterceptor)"><code>register(MethodMetadata, MethodInterceptor)</code></a> instead.</i></div>
<div class="block">Registers an handler.
This methods is called by handler wanting to monitor
fields and/or methods of the implementation class.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>handler</code> - the handler to register</dd><dd><code>fields</code> - the field metadata list</dd><dd><code>methods</code> - the method metadata list</dd></dl>
</li>
</ul>
<a name="register(org.apache.felix.ipojo.parser.FieldMetadata, org.apache.felix.ipojo.FieldInterceptor)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1019">register</a>(<a href="../../../../org/apache/felix/ipojo/parser/FieldMetadata.html" title="class in org.apache.felix.ipojo.parser">FieldMetadata</a>&nbsp;field,
<a href="../../../../org/apache/felix/ipojo/FieldInterceptor.html" title="interface in org.apache.felix.ipojo">FieldInterceptor</a>&nbsp;interceptor)</pre>
<div class="block">Registers a field interceptor.
A field interceptor will be notified of field access of the
implementation class. Note that handlers are field interceptors.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>field</code> - the field to monitor</dd><dd><code>interceptor</code> - the field interceptor object</dd></dl>
</li>
</ul>
<a name="register(org.apache.felix.ipojo.parser.MethodMetadata, org.apache.felix.ipojo.MethodInterceptor)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1048">register</a>(<a href="../../../../org/apache/felix/ipojo/parser/MethodMetadata.html" title="class in org.apache.felix.ipojo.parser">MethodMetadata</a>&nbsp;method,
<a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html" title="interface in org.apache.felix.ipojo">MethodInterceptor</a>&nbsp;interceptor)</pre>
<div class="block">Registers a method interceptor.
A method interceptor will be notified of method entries, exits
and errors. Note that handlers are method interceptors.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>method</code> - the field to monitor</dd><dd><code>interceptor</code> - the field interceptor object</dd></dl>
</li>
</ul>
<a name="register(org.apache.felix.ipojo.parser.MethodMetadata, java.lang.String, org.apache.felix.ipojo.MethodInterceptor)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1078">register</a>(<a href="../../../../org/apache/felix/ipojo/parser/MethodMetadata.html" title="class in org.apache.felix.ipojo.parser">MethodMetadata</a>&nbsp;method,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;innerClass,
<a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html" title="interface in org.apache.felix.ipojo">MethodInterceptor</a>&nbsp;interceptor)</pre>
<div class="block">Registers a method interceptor on a methods from an inner class.
A method interceptor will be notified of method entries, exits
and errors. Note that handlers are method interceptors.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>method</code> - the field to monitor</dd><dd><code>innerClass</code> - the inner class name</dd><dd><code>interceptor</code> - the field interceptor object</dd></dl>
</li>
</ul>
<a name="register(int, org.apache.felix.ipojo.ConstructorInjector)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1112">register</a>(int&nbsp;index,
<a href="../../../../org/apache/felix/ipojo/ConstructorInjector.html" title="interface in org.apache.felix.ipojo">ConstructorInjector</a>&nbsp;injector)
throws <a href="../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Registers a constructor injector.
The constructor injector will be called when a pojo object is going to be
created.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - the index of the parameter. Only one injector per index can
be registered.</dd><dd><code>injector</code> - the injector object.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></code> - if the given index is already injected by another
injector</dd></dl>
</li>
</ul>
<a name="onGet(java.lang.Object, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onGet</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1135">onGet</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName)</pre>
<div class="block">This method is called by the manipulated class each time that a GETFIELD instruction is executed.
The method asks to each attached handler monitoring this field which value need
to be injected (i.e. returned) by invoking the <a href="../../../../org/apache/felix/ipojo/PrimitiveHandler.html#onGet(java.lang.Object, java.lang.String, java.lang.Object)"><code>PrimitiveHandler.onGet(Object, String, Object)</code></a>
method. If the field value changes, this method call the <a href="../../../../org/apache/felix/ipojo/PrimitiveHandler.html#onSet(java.lang.Object, java.lang.String, java.lang.Object)"><code>PrimitiveHandler.onSet(Object, String, Object)</code></a>
method on each field interceptor monitoring the field in order to advertize the new value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pojo</code> - the pojo object on which the field was get</dd><dd><code>fieldName</code> - the field name on which the GETFIELD instruction is called</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value decided by the last asked handler (throws a warning if two fields decide two different values)</dd></dl>
</li>
</ul>
<a name="onEntry(java.lang.Object, java.lang.String, java.lang.Object[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onEntry</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1185">onEntry</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodId,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;args)</pre>
<div class="block">Dispatches entry method events on registered method interceptors.
This method calls the <a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html#onEntry(java.lang.Object, java.lang.reflect.Member, java.lang.Object[])"><code>MethodInterceptor.onEntry(Object, java.lang.reflect.Member, Object[])</code></a>
methods on method interceptors monitoring the method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pojo</code> - the pojo object on which method is invoked.</dd><dd><code>methodId</code> - the method id used to compute the <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect"><code>Method</code></a> object.</dd><dd><code>args</code> - the argument array</dd></dl>
</li>
</ul>
<a name="onExit(java.lang.Object, java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onExit</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1212">onExit</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodId,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;result)</pre>
<div class="block">Dispatches exit method events on registered method interceptors.
The given returned object is an instance of <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><code>Exception</code></a> if the method thrown an
exception. If the given object is <code>null</code>, either the method returns <code>void</code>,
or the method has returned <code>null</code>
This method calls the <a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html#onExit(java.lang.Object, java.lang.reflect.Member, java.lang.Object)"><code>MethodInterceptor.onExit(Object, java.lang.reflect.Member, Object)</code></a> and the
<a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html#onFinally(java.lang.Object, java.lang.reflect.Member)"><code>MethodInterceptor.onFinally(Object, java.lang.reflect.Member)</code></a> methods on method interceptors
monitoring the method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pojo</code> - the pojo object on which method was invoked.</dd><dd><code>methodId</code> - the method id used to compute the <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect"><code>Method</code></a> object.</dd><dd><code>result</code> - the returned object.</dd></dl>
</li>
</ul>
<a name="onError(java.lang.Object, java.lang.String, java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onError</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1236">onError</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodId,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
<div class="block">Dispatches error method events on registered method interceptors.
or the method has returned <code>null</code>
This method calls the <a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html#onError(java.lang.Object, java.lang.reflect.Member, java.lang.Throwable)"><code>MethodInterceptor.onError(Object, java.lang.reflect.Member, Throwable)</code></a> and the
<a href="../../../../org/apache/felix/ipojo/MethodInterceptor.html#onFinally(java.lang.Object, java.lang.reflect.Member)"><code>MethodInterceptor.onFinally(Object, java.lang.reflect.Member)</code></a> methods on method interceptors monitoring
the method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pojo</code> - the pojo object on which the method was invoked</dd><dd><code>methodId</code> - the method id used to compute the <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect"><code>Method</code></a> object.</dd><dd><code>error</code> - the Throwable object.</dd></dl>
</li>
</ul>
<a name="getMethodById(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMethodById</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Member.html?is-external=true" title="class or interface in java.lang.reflect">Member</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1257">getMethodById</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodId)</pre>
<div class="block">Computes the <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect"><code>Method</code></a> object from the given id.
Once computes, a map is used as a cache to avoid to recompute for
the same id.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>methodId</code> - the method id</dd>
<dt><span class="strong">Returns:</span></dt><dd>the method object or <code>null</code> if the method cannot be found.</dd></dl>
</li>
</ul>
<a name="onSet(java.lang.Object, java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onSet</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1337">onSet</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;objectValue)</pre>
<div class="block">This method is called by the manipulated class each time that a PUTFIELD instruction is executed.
The method calls the <a href="../../../../org/apache/felix/ipojo/PrimitiveHandler.html#onSet(java.lang.Object, java.lang.String, java.lang.Object)"><code>PrimitiveHandler.onSet(Object, String, Object)</code></a> method on each field
interceptors monitoring this field.
This method can be invoked with a <code>null</code> pojo argument when the changes comes from another
handler.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pojo</code> - the pojo object on which the field was set</dd><dd><code>fieldName</code> - the field name on which the PUTFIELD instruction is called</dd><dd><code>objectValue</code> - the new value of the field</dd></dl>
</li>
</ul>
<a name="getContext()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContext</h4>
<pre>public&nbsp;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1360">getContext</a>()</pre>
<div class="block">Gets the bundle context used by this component instance.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getContext()">getContext</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the context of the component.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getContext()"><code>ComponentInstance.getContext()</code></a></dd></dl>
</li>
</ul>
<a name="getGlobalContext()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGlobalContext</h4>
<pre>public&nbsp;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1370">getGlobalContext</a>()</pre>
<div class="block">Gets the global bundle context. This is the bundle context
of the bundle declaring the component type.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the bundle context of the bundle declaring the component
type.</dd></dl>
</li>
</ul>
<a name="getLocalServiceContext()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalServiceContext</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/ipojo/ServiceContext.html" title="interface in org.apache.felix.ipojo">ServiceContext</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1383">getLocalServiceContext</a>()</pre>
<div class="block">Gets the local service context. This service context gives
access to the 'local' service registry (the composite one).
If the instance lives in the global (i.e. OSGi) context,
this method returns <code>null</code></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the local service context or <code>null</code> if the
instance doesn't live in a composite.</dd></dl>
</li>
</ul>
<a name="getInstanceName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstanceName</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1392">getInstanceName</a>()</pre>
<div class="block">Gets the instance name.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getInstanceName()">getInstanceName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the instance name.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#getInstanceName()"><code>ComponentInstance.getInstanceName()</code></a></dd></dl>
</li>
</ul>
<a name="reconfigure(java.util.Dictionary)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reconfigure</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1408">reconfigure</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Dictionary.html?is-external=true" title="class or interface in java.util">Dictionary</a>&nbsp;configuration)</pre>
<div class="block">Reconfigures the current instance.
Reconfiguring an instance means re-injecting a new
instance configuration. Some properties are immutable
such as the instance name.
This methods calls the <a href="../../../../org/apache/felix/ipojo/Handler.html#reconfigure(java.util.Dictionary)"><code>Handler.reconfigure(Dictionary)</code></a>
methods on each attached handler, and then recompute the instance
state. Note that the reconfiguration process does not deactivate the
instance.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#reconfigure(java.util.Dictionary)">reconfigure</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>configuration</code> - the new configuration to push</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/ComponentInstance.html#reconfigure(java.util.Dictionary)"><code>ComponentInstance.reconfigure(java.util.Dictionary)</code></a></dd></dl>
</li>
</ul>
<a name="getClassName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassName</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1437">getClassName</a>()</pre>
<div class="block">Gets the implementation class of the component type.
This method does not need to be synchronized as the
class name is constant once set.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the class name of the component implementation.</dd></dl>
</li>
</ul>
<a name="stateChanged(org.apache.felix.ipojo.ComponentInstance, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stateChanged</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1450">stateChanged</a>(<a href="../../../../org/apache/felix/ipojo/ComponentInstance.html" title="interface in org.apache.felix.ipojo">ComponentInstance</a>&nbsp;instance,
int&nbsp;newState)</pre>
<div class="block">State Change listener callback.
This method is called every time that a plugged handler becomes valid or invalid.
This method computes the new instance state and applies it (by calling the
<a href="../../../../org/apache/felix/ipojo/InstanceManager.html#setState(int)"><code>setState(int)</code></a> method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html#stateChanged(org.apache.felix.ipojo.ComponentInstance, int)">stateChanged</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo">InstanceStateListener</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>instance</code> - the handler becoming valid or invalid</dd><dd><code>newState</code> - the new state of the handler</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html#stateChanged(org.apache.felix.ipojo.ComponentInstance, int)"><code>InstanceStateListener.stateChanged(org.apache.felix.ipojo.ComponentInstance, int)</code></a></dd></dl>
</li>
</ul>
<a name="getRegistredFields()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegistredFields</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1484">getRegistredFields</a>()</pre>
<div class="block">Gets the list of registered fields (containing field names).
This method is invoked by the POJO itself during
its initialization.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the set of registered fields.</dd></dl>
</li>
</ul>
<a name="getRegistredMethods()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getRegistredMethods</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&nbsp;<a href="../../../../src-html/org/apache/felix/ipojo/InstanceManager.html#line.1497">getRegistredMethods</a>()</pre>
<div class="block">Gets the list of registered methods (containing method ids).
This method is invoked by the POJO itself during its
initialization.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the set of registered methods.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/InstanceManager.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/felix/ipojo/HandlerManagerFactory.HandlerTypeDescription.html" title="class in org.apache.felix.ipojo"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/felix/ipojo/InstanceStateListener.html" title="interface in org.apache.felix.ipojo"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/felix/ipojo/InstanceManager.html" target="_top">Frames</a></li>
<li><a href="InstanceManager.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2013. All rights reserved.</small></p>
</body>
</html>