blob: cd5f6d5195bc900fc1594440dd55e45bbc48c672 [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 (1.8.0) on Wed Dec 24 15:58:26 CET 2014 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DependencyConfigurationChecker (Apache Felix iPOJO ~ JavaDoc 1.12.1 API)</title>
<meta name="date" content="2014-12-24">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DependencyConfigurationChecker (Apache Felix iPOJO ~ JavaDoc 1.12.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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/DependencyConfigurationChecker.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/handlers/dependency/DependencyCallback.html" title="class in org.apache.felix.ipojo.handlers.dependency"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyDescription.html" title="class in org.apache.felix.ipojo.handlers.dependency"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html" target="_top">Frames</a></li>
<li><a href="DependencyConfigurationChecker.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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>Field&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>Field&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.handlers.dependency</div>
<h2 title="Class DependencyConfigurationChecker" class="title">Class DependencyConfigurationChecker</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/8/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.handlers.dependency.DependencyConfigurationChecker</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.35">DependencyConfigurationChecker</a>
extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Utility class checking the configuration of a dependency.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" 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><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#DependencyConfigurationChecker--">DependencyConfigurationChecker</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#checkTheConsistencyOfTheFromAttribute-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.metadata.Element-">checkTheConsistencyOfTheFromAttribute</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/metadata/Element.html" title="class in org.apache.felix.ipojo.metadata">Element</a>&nbsp;metadata)</code>
<div class="block">Checks that the `from` attribute is used consistently:
Rule 1 : it cannot be used on aggregate dependency
Rule 2 : it cannot be used in combination with the `comparator` attribute
Rule 3 : it cannot be used in combination with the `dynamic-priority` binding policy
</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#checkTheServiceUnavailableAction-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.metadata.Element-">checkTheServiceUnavailableAction</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/metadata/Element.html" title="class in org.apache.felix.ipojo.metadata">Element</a>&nbsp;metadata)</code>
<div class="block">Checks that service unavailable actions are consistent.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#deduceAggregationFromTheInjectionPoints-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">deduceAggregationFromTheInjectionPoints</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>
<div class="block">Determines if the dependency is aggregate from the field or constructor parameter used to inject the dependency.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#deduceTheServiceSpecification-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">deduceTheServiceSpecification</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>
<div class="block">Tries to determine the service specification to inject in the dependency.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#disableProxyForInconsistentTypes-org.apache.felix.ipojo.handlers.dependency.Dependency-">disableProxyForInconsistentTypes</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency)</code>
<div class="block">Disables the proxy settings for types that does not support it: Vector, Array, and non interface specification.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#ensure-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.metadata.Element-org.apache.felix.ipojo.parser.PojoMetadata-">ensure</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/metadata/Element.html" title="class in org.apache.felix.ipojo.metadata">Element</a>&nbsp;metadata,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#ensureThatAtLeastOneInjectionIsSpecified-org.apache.felix.ipojo.handlers.dependency.Dependency-">ensureThatAtLeastOneInjectionIsSpecified</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency)</code>
<div class="block">Checks that the dependency has at least one injection point.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#ensureThatCallbacksAreCoherent-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">ensureThatCallbacksAreCoherent</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>
<div class="block">Checks that the dependency callbacks are consistent:
have a supported 'type'
have a supported signature
If the method is not in the component class, a message is logged, as this verification cannot be used.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#ensureThatTheConstructorParameterIsCoherent-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">ensureThatTheConstructorParameterIsCoherent</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>
<div class="block">Checks whether the constructor parameter injection is suitable.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#ensureThatTheFieldIsInComponentClass-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">ensureThatTheFieldIsInComponentClass</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>
<div class="block">Checks that the field used to inject the dependency is in the component class.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#extractSpecificationFromConstructor-int-org.apache.felix.ipojo.parser.PojoMetadata-">extractSpecificationFromConstructor</a></span>(int&nbsp;index,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#extractSpecificationFromField-java.lang.String-org.apache.felix.ipojo.parser.PojoMetadata-">extractSpecificationFromField</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;field,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>
<div class="block">Extracts the service specification from the field.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#extractSpecificationFromMethods-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.handlers.dependency.DependencyCallback:A-org.apache.felix.ipojo.parser.PojoMetadata-">extractSpecificationFromMethods</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyCallback.html" title="class in org.apache.felix.ipojo.handlers.dependency">DependencyCallback</a>[]&nbsp;callbacks,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#setSpecification-org.apache.felix.ipojo.handlers.dependency.Dependency-java.lang.String-">setSpecification</a></span>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dep,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)</code>
<div class="block">Sets the dependency specification.</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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DependencyConfigurationChecker--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DependencyConfigurationChecker</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.35">DependencyConfigurationChecker</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="ensure-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.metadata.Element-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensure</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.37">ensure</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/metadata/Element.html" title="class in org.apache.felix.ipojo.metadata">Element</a>&nbsp;metadata,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<dl>
<dt><span class="throwsLabel">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="disableProxyForInconsistentTypes-org.apache.felix.ipojo.handlers.dependency.Dependency-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disableProxyForInconsistentTypes</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.55">disableProxyForInconsistentTypes</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Disables the proxy settings for types that does not support it: Vector, Array, and non interface specification.
If the dependency is disabled, check that we are no constructor injection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dt><span class="throwsLabel">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="ensureThatCallbacksAreCoherent-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensureThatCallbacksAreCoherent</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.82">ensureThatCallbacksAreCoherent</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Checks that the dependency callbacks are consistent:
<ul>
<li>have a supported 'type'</li>
<li>have a supported signature</li>
</ul>
If the method is not in the component class, a message is logged, as this verification cannot be used.
If the method is found in the manipulation metadata, the callback parameters are set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dd><code>manipulation</code> - the manipulation</dd>
<dt><span class="throwsLabel">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 methods do not obey to the previously mentioned rules.</dd>
</dl>
</li>
</ul>
<a name="ensureThatTheConstructorParameterIsCoherent-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensureThatTheConstructorParameterIsCoherent</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.132">ensureThatTheConstructorParameterIsCoherent</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Checks whether the constructor parameter injection is suitable. this check verified that the constructor has
enough parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dd><code>manipulation</code> - the manipulation metadata</dd>
<dt><span class="throwsLabel">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 constructor is not suitable</dd>
</dl>
</li>
</ul>
<a name="ensureThatTheFieldIsInComponentClass-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensureThatTheFieldIsInComponentClass</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.164">ensureThatTheFieldIsInComponentClass</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Checks that the field used to inject the dependency is in the component class. If the dependency has no field,
this method does nothing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dd><code>manipulation</code> - the manipulation metadata</dd>
<dt><span class="throwsLabel">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 field used to inject the given dependency is not in the component class.</dd>
</dl>
</li>
</ul>
<a name="deduceAggregationFromTheInjectionPoints-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deduceAggregationFromTheInjectionPoints</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.185">deduceAggregationFromTheInjectionPoints</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Determines if the dependency is aggregate from the field or constructor parameter used to inject the dependency.
If the dependency just uses methods, this method does nothing. This method also check that dependencies set to
aggregate have a valid injection type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dd><code>manipulation</code> - the manipulation metadata</dd>
<dt><span class="throwsLabel">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 type of the field or constructor parameter used to inject the dependency
is not suitable for aggregate dependencies.</dd>
</dl>
</li>
</ul>
<a name="ensureThatAtLeastOneInjectionIsSpecified-org.apache.felix.ipojo.handlers.dependency.Dependency-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensureThatAtLeastOneInjectionIsSpecified</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.234">ensureThatAtLeastOneInjectionIsSpecified</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Checks that the dependency has at least one injection point.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dt><span class="throwsLabel">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 dependency has no injection point</dd>
</dl>
</li>
</ul>
<a name="checkTheConsistencyOfTheFromAttribute-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.metadata.Element-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkTheConsistencyOfTheFromAttribute</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.256">checkTheConsistencyOfTheFromAttribute</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/metadata/Element.html" title="class in org.apache.felix.ipojo.metadata">Element</a>&nbsp;metadata)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Checks that the `from` attribute is used consistently:
<ul>
<li>Rule 1 : it cannot be used on aggregate dependency</li>
<li>Rule 2 : it cannot be used in combination with the `comparator` attribute</li>
<li>Rule 3 : it cannot be used in combination with the `dynamic-priority` binding policy</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dd><code>metadata</code> - the dependency metadata</dd>
<dt><span class="throwsLabel">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 `from` attribute is used inconsistently.</dd>
</dl>
</li>
</ul>
<a name="checkTheServiceUnavailableAction-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.metadata.Element-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkTheServiceUnavailableAction</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.291">checkTheServiceUnavailableAction</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/metadata/Element.html" title="class in org.apache.felix.ipojo.metadata">Element</a>&nbsp;metadata)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Checks that service unavailable actions are consistent.
<ul>
<li>Rule 1: Nullable, Exception, Default-Implementation... can only be used for scalar optional dependency</li>
<li>Rule 2: Only one can be used</li>
<li>Rule 3: Timeout can only be used on optional dependency</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dt><span class="throwsLabel">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 dependency used inconsistent attributes</dd>
</dl>
</li>
</ul>
<a name="deduceTheServiceSpecification-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deduceTheServiceSpecification</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.343">deduceTheServiceSpecification</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Tries to determine the service specification to inject in the dependency.
If the specification is already checked by the dependency, just checks the consistency.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dependency</code> - the dependency</dd>
<dd><code>manipulation</code> - the manipulation metadata</dd>
<dt><span class="throwsLabel">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 specification cannot be deduced, or when the set specification is not
consistent.</dd>
</dl>
</li>
</ul>
<a name="extractSpecificationFromMethods-org.apache.felix.ipojo.handlers.dependency.Dependency-org.apache.felix.ipojo.handlers.dependency.DependencyCallback:A-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractSpecificationFromMethods</h4>
<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/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/handlers/dependency/DependencyConfigurationChecker.html#line.384">extractSpecificationFromMethods</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dependency,
<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyCallback.html" title="class in org.apache.felix.ipojo.handlers.dependency">DependencyCallback</a>[]&nbsp;callbacks,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<dl>
<dt><span class="throwsLabel">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="extractSpecificationFromConstructor-int-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractSpecificationFromConstructor</h4>
<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/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/handlers/dependency/DependencyConfigurationChecker.html#line.410">extractSpecificationFromConstructor</a>(int&nbsp;index,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</pre>
</li>
</ul>
<a name="extractSpecificationFromField-java.lang.String-org.apache.felix.ipojo.parser.PojoMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractSpecificationFromField</h4>
<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/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/handlers/dependency/DependencyConfigurationChecker.html#line.429">extractSpecificationFromField</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;field,
<a href="../../../../../../org/apache/felix/ipojo/parser/PojoMetadata.html" title="class in org.apache.felix.ipojo.parser">PojoMetadata</a>&nbsp;manipulation)</pre>
<div class="block">Extracts the service specification from the field.
When this method is called, we know that the field is containing in the component class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>field</code> - the field</dd>
<dd><code>manipulation</code> - the manipulation metadata</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the service specification, or <code>null</code> if is cannot be extracted.</dd>
</dl>
</li>
</ul>
<a name="setSpecification-org.apache.felix.ipojo.handlers.dependency.Dependency-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setSpecification</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html#line.448">setSpecification</a>(<a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/Dependency.html" title="class in org.apache.felix.ipojo.handlers.dependency">Dependency</a>&nbsp;dep,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)
throws <a href="../../../../../../org/apache/felix/ipojo/ConfigurationException.html" title="class in org.apache.felix.ipojo">ConfigurationException</a></pre>
<div class="block">Sets the dependency specification. If the dependency has already a specification set,
throw an error if the current specification and the given one are not equal.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dep</code> - the dependency</dd>
<dd><code>className</code> - the service specification</dd>
<dt><span class="throwsLabel">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 specification is not loadable or if the dependency has already a
specification set that is not the given one.</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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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/DependencyConfigurationChecker.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/handlers/dependency/DependencyCallback.html" title="class in org.apache.felix.ipojo.handlers.dependency"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/felix/ipojo/handlers/dependency/DependencyDescription.html" title="class in org.apache.felix.ipojo.handlers.dependency"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/felix/ipojo/handlers/dependency/DependencyConfigurationChecker.html" target="_top">Frames</a></li>
<li><a href="DependencyConfigurationChecker.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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>Field&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>Field&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; 2014. All rights reserved.</small></p>
</body>
</html>