Merge remote-tracking branch 'origin/main' into develop

This commit is contained in:
Mike Bierlee 2023-02-20 21:34:55 +03:00
commit 7ffc985f64
57 changed files with 1 additions and 6764 deletions

View file

@ -65,7 +65,7 @@ Dependency set-up can further be reduced by enabling "Register on resolve". For
Documentation Documentation
------------- -------------
You can find the public API documentation [here](https://mbierlee.github.io/poodinis/). You can find the public API documentation [here](https://poodinis.dpldocs.info/v8.1.3/index.html).
Alternatively you can generate documentation from the source code using DUB: Alternatively you can generate documentation from the source code using DUB:
``` ```

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
{"poodinis\\container\\DependencyContainer.setPersistentRegistrationOptions.html":"89AC466E7EE784C2DD34753C344BDD71","poodinis\\context\\Component.html":"D25FF9D757C237FE9F5F135585C3D67F","poodinis\\valueinjection.html":"D670A57EBA2F046D0E2CBB96304911D3","poodinis\\container\\DependencyContainer.setPersistentResolveOptions.html":"38A8DD41770AA704A32F06787C0195D2","poodinis\\factory.html":"198850659747244494A318ACE4DB4F1C","poodinis\\autowire\\OptionalDependency.html":"BE4C2249757F61B90D70B3DD625778AA","poodinis\\container\\ResolveOption.html":"9D033031CA7CB8A2AAB94D098E209A13","poodinis.html":"FEA20B857484135ECEE798FED24BD5E6","poodinis\\valueinjection\\ValueInjector.get.html":"5FA9F396502543764B067D07901AC84B","poodinis\\container\\DependencyContainer.resolveAll.html":"F96866CE9400AE0D1A89CE1A31E4C73C","poodinis\\autowire\\Autowire.html":"0FED1508A3F2C999447DBA7F78124563","poodinis\\container\\DependencyContainer.html":"46AB161928E28D80726A6A6295100696","poodinis\\container\\DependencyContainer.clearAllRegistrations.html":"456BF30E9D85074B3720F33F57805738","poodinis\\registration\\singleInstance.html":"3BFFFC86E683F6CD910180D36B8F9B67","poodinis\\container\\PostConstruct.html":"671EA8DE5B22D4B030370FE6CF8D4429","poodinis\\container\\DependencyContainer.unsetPersistentRegistrationOptions.html":"00B09F3293774285186A4B102A0CF911","poodinis\\polyfill.html":"A090DEBB7AA5369A8FBB03963F16A9FF","poodinis\\valueinjection\\ValueNotAvailableException.html":"67B903610FAB9787CDC38E02C39F4026","poodinis\\container.html":"0148E5DB24888DEF54032B75E1A46C6D","poodinis\\autowire.html":"F4E1D94CCC02BF9706B20181B22C2F90","poodinis\\altphobos.html":"F3BD66CC96928AE8E86B7742BE7A6710","poodinis\\container\\RegistrationOption.html":"1209DC0C65672962F5DAF130BA4E6103","poodinis\\registration\\initializeFactoryType.html":"2727B31F450D62E2B6D15D25A67FAC9A","poodinis\\registration\\existingInstance.html":"7362F70BEAB50ACC637006A64C0664C1","poodinis\\valueinjection\\ValueInjector.html":"1E5408358D9B0E71FA69A9FA3480FE15","poodinis\\valueinjection\\MandatoryValue.html":"99BF0E12B4CF951D647BB6D150C19677","poodinis\\registration\\initializedBy.html":"EAEA6668E32F0CFD1CE94AB1E41C9BA1","poodinis\\autowire\\AssignNewInstance.html":"753323D03E1F57EF74A49C9EB97B5922","poodinis\\registration\\newInstance.html":"61E3C040AE2625C5E56B2D8FB3BEE291","sitemap.xml":"379828EA4EC746D3B65AA838C606D50E","poodinis\\container\\DependencyContainer.resolve.html":"1F793A76F9F3F7E1E07C8672FCE52F9D","index.html":"B520F9FF295D0F10E09D9948911A4764","poodinis\\container\\ResolveException.html":"BFF99C1E80C18F335E8B9466325A1D0B","poodinis\\context.html":"77F8FAF5C1EF2110829A0EFD0999CF2A","poodinis\\container\\PreDestroy.html":"5C42BEEBB795FCEA856D97DBCE82FF15","symbols.js":"41314CBCE3925BFC2734F86826C9B5C0","poodinis\\valueinjection\\Value.key.html":"2DC391C6599CBB5C2ED3D7389A5137A8","poodinis\\imports.html":"692AD3C7CC94F2D7AF6D1412CC6B8706","poodinis\\container\\DependencyContainer.removeRegistration.html":"FACC1E13AFCCF153EE227DC7DDA5FF30","poodinis\\valueinjection\\MandatoryValue.key.html":"8E0D1512B26D04A34951E7B2CD4BBA91","poodinis\\autowire\\autowire.html":"0342EA8830515DC76B7768DB17F10BD2","poodinis\\registration.html":"B3F16D766D919275B8A8E0E57E54DE53","poodinis\\valueinjection\\Value.html":"1E65F06D1C8DC35F4189DF55DD6999EB","poodinis\\container\\DependencyContainer.unsetPersistentResolveOptions.html":"D1F8FAD57CE1EDF4CAB0FD971B8BE59D","poodinis\\valueinjection\\ValueInjectionException.html":"55E7CBF3EFABB496E29E94F700242B0B","poodinis\\autowire\\globalAutowire.html":"CADEF213D498116DC4D7C07608D2689F","poodinis\\context\\RegisterByType.html":"00F086D62EF68DA68352AAF18DA75274","poodinis\\context\\registerContext.html":"CD311CD7EEFA2A31A7CDE8D3E69615C8","poodinis\\container\\RegistrationException.html":"CBA3A17B208F4856D0C5F82FEAAB0D3F","poodinis\\context\\Prototype.html":"7433F5A4FC8FC5D8A8BE89245708997A","poodinis\\registration\\initializedOnceBy.html":"77AAD3482760AB50E6D023C26110A531","poodinis\\container\\DependencyContainer.register.html":"5C446793765664B58397A0795CD8448A"}

Binary file not shown.

Binary file not shown.

View file

@ -1,191 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>API documentation</title>
<link rel="stylesheet" href="./css/style.min.css"/>
<script type="text/javascript" src="./js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="./symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "./";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="./poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="./poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>API documentation</h1>
<table>
<col class="caption"/>
<tr>
<th>Module</th><th>Description</th>
</tr>
<tr>
<td>
<a href="./poodinis/altphobos.html">poodinis.altphobos</a>
</td>
<td>
Tweaks to Phobos's standard templates.
</td>
</tr>
<tr>
<td>
<a href="./poodinis/autowire.html">poodinis.autowire</a>
</td>
<td>
Contains functionality for autowiring dependencies using a dependency container.
</td>
</tr>
<tr>
<td>
<a href="./poodinis/container.html">poodinis.container</a>
</td>
<td>
Contains the implementation of the dependency container.
</td>
</tr>
<tr>
<td>
<a href="./poodinis/context.html">poodinis.context</a>
</td>
<td>
Contains the implementation of application context setup.
</td>
</tr>
<tr>
<td>
<a href="./poodinis/factory.html">poodinis.factory</a>
</td>
<td>
This module contains instance factory facilities
</td>
</tr>
<tr>
<td>
<a href="./poodinis/imports.html">poodinis.imports</a>
</td>
<td>
This module contains instance factory facilities
</td>
</tr>
<tr>
<td>
<a href="./poodinis/polyfill.html">poodinis.polyfill</a>
</td>
<td>
Forward-compatibility module for providing support for Phobos functionality
not available in older versions of Phobos.
</td>
</tr>
<tr>
<td>
<a href="./poodinis/registration.html">poodinis.registration</a>
</td>
<td>
This module contains objects for defining and scoping dependency registrations.
</td>
</tr>
<tr>
<td>
<a href="./poodinis/valueinjection.html">poodinis.valueinjection</a>
</td>
<td>
This module contains facilities to support value injection. Actual injection is done by the
autowiring mechanism.
</td>
</tr>
<tr>
<td>
<a href="./poodinis.html">poodinis</a>
</td>
<td>
Package module for the Poodinis Dependency Injection framework.
</td>
</tr>
</table>
</div>
<footer>
<div id="license-info"></div>
</footer>
</div>
</body>
</html>

13
docs/js/script.min.js vendored
View file

@ -1,13 +0,0 @@
var searchCounter,lastSearchString
function setupDdox(){for(var e=document.querySelectorAll(".tree-view .package"),t=0;t<e.length;++t)e[t].addEventListener("click",toggleTree)
for(e=document.querySelectorAll(".tree-view .package a"),t=0;t<e.length;++t)e[t].addEventListener("click",function(e){e.stopPropagation()})
for(e=document.querySelectorAll(".tree-view.collapsed ul"),t=0;t<e.length;++t)e[t].style.display="none"
document.getElementById("symbolSearch").setAttribute("tabindex","1000")}function toggleTree(e){var t,l,n,s=this.parentNode
for(s.classList.toggle("collapsed"),t=s.children,l=s.classList.contains("collapsed")?"none":"block",n=1;n<t.length;++n)t[n].style.display=l
return this.style.display="none",!(this.style.display="block")}function performSymbolSearch(e,t){var l,m,n,s,r,a,i,o,h,c,d,u,g,p,y=function(e){return document.getElementById(e)}
if("undefined"===e&&(e=26),void 0===t&&(t=40),(l=y("symbolSearch").value.toLowerCase())!=lastSearchString&&(lastSearchString=l,++searchCounter,y("symbolSearchResults").style.display="none",y("symbolSearchResults").innerHTML="",y("symbolSearch").classList.remove("with_results"),!(0==(m=l.trim().split(/\s+/)).length||1==m.length&&m[0].length<2))){for(n=[],s=0;s<symbols.length;++s){for(o in r=symbols[s],a=!0,m)if(r.name.toLowerCase().indexOf(m[o])<0){a=!1
break}a&&n.push(r)}for(n.sort(function(e,t){var l,n,s,r,a,i,o,h,c,d,u=0<=e.attributes.indexOf("deprecated"),g=0<=t.attributes.indexOf("deprecated")
return u!=g?u-g:(l=e.name.toLowerCase(),n=t.name.toLowerCase(),s=l.split("."),r=n.split("."),a=s[s.length-1],i=r[r.length-1],(o=0<=m.indexOf(a))!=(h=0<=m.indexOf(i))?h-o:(c=f(s))!=(d=f(r))?c-d:s.length<r.length?-1:s.length>r.length?1:a.length<i.length?-1:a.length>i.length?1:l<n?-1:n<l?1:0)}),s=0;s<n.length&&s<t;s++){for(r=n[s],(i=document.createElement("li")).classList.add(r.kind),o=0;o<r.attributes.length;++o)i.classList.add(r.attributes[o])
for(u="."+(c=(h=r.name).split("."))[d=c.length-1];0<d&&c[d-1].length+u.length<=e;)u="."+c[--d]+u
u=0<d?".."+u:u.substr(1),(g=document.createElement("a")).setAttribute("href",symbolSearchRootDir+r.path),g.setAttribute("title",h),g.setAttribute("tabindex",1001),g.textContent=u,i.appendChild(g),y("symbolSearchResults").appendChild(i)}n.length>t&&((p=document.createElement("li")).innerHTML="&hellip;"+(n.length-100)+" additional results",y("symbolSearchResults").appendChild(p)),n.length&&(y("symbolSearchResults").style.display="initial",y("symbolSearch").classList.add("with_results"))}function f(e){for(var t=e.length-1;0<=t;t--)for(o in m)if(e[t].length>=m[o].length&&e[t].substr(0,m[o].length)==m[o])return e.length-1-t
return e.length}}searchCounter=0,lastSearchString=""

View file

@ -1,107 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis</title>
<link rel="stylesheet" href="./css/style.min.css"/>
<script type="text/javascript" src="./js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="./symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "./";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package selected">
<a href="./poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="./poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="./poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis</h1><p>Package module for the Poodinis Dependency Injection framework.
</p><section></section>
<section></section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,118 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.altphobos</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module selected">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.altphobos</h1><p>Tweaks to Phobos's standard templates.
</p><section><p>Implementations copied and adapted from std.traits;
</p>
</section>
<section></section>
</div>
<footer>
<div id="license-info">
<p>erdani.org, Andrei Alexandrescu,
Jonathan M Davis,
digitalmars.com, Walter Bright,
Tomasz Stachowiak (<code class="lang-d"><span class="pln">isExpressions</span></code>),
erdani.org, Andrei Alexandrescu,
Shin Fujishiro,
octarineparrot.com, Robert Clipsham,
klickverbot.at, David Nadlinger,
Kenji Hara,
Shoichi Kato,
Mike Bierlee (m.bierlee@lostmoment.com)
</p>
<p>Copyright Digital Mars 2005 - 2009., Copyright Andrei Alexandrescu 2008-, Jonathan M Davis 2011-., 2014-2023 Mike Bierlee
</p>
<p>boost.org/LICENSE_1_0.txt, Boost License 1.0
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,179 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.autowire</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.autowire</h1><p>Contains functionality for autowiring dependencies using a dependency container.
</p><section><p>This module is used in a dependency container for autowiring dependencies when resolving them.
You typically only need this module if you want inject dependencies into a class instance not
managed by a dependency container.
</p>
<p> Part of the Poodinis Dependency Injection framework.
</p>
</section>
<section></section>
<section>
<h2>Functions</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="autowire" class="public" href="../poodinis/autowire/autowire.html">autowire</a><span class="tableEntryAnnotation">(container, instance)</span>
</code>
</td>
<td>Autowires members of a given instance using dependencies registered in the given container.
</td>
</tr>
<tr>
<td>
<code>
<a id="globalAutowire" class="public" href="../poodinis/autowire/globalAutowire.html">globalAutowire</a><span class="tableEntryAnnotation">(instance)</span>
</code>
</td>
<td>Autowire the given instance using the globally available dependency container.
</td>
</tr>
</table>
</section>
<section>
<h2>Structs</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="AssignNewInstance" class="public" href="../poodinis/autowire/AssignNewInstance.html">AssignNewInstance</a>
</code>
</td>
<td>UDA for annotating class members to be autowired with a new instance regardless of their registration scope.
</td>
</tr>
<tr>
<td>
<code>
<a id="Autowire" class="public" href="../poodinis/autowire/Autowire.html">Autowire</a>
</code>
</td>
<td>UDA for annotating class members as candidates for autowiring.
</td>
</tr>
<tr>
<td>
<code>
<a id="OptionalDependency" class="public" href="../poodinis/autowire/OptionalDependency.html">OptionalDependency</a>
</code>
</td>
<td>UDA for marking autowired dependencies optional.
Optional dependencies will not lead to a resolveException when there is no type registered for them.
The member will remain null.
</td>
</tr>
</table>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,125 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct AssignNewInstance</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct AssignNewInstance</h1><p>UDA for annotating class members to be autowired with a new instance regardless of their registration scope.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">AssignNewInstance</span>
<span class="pun">;</span>
</div>
</code>
</div>
<section></section>
<section><h2>Examples</h2>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">Car </span><span class="pun">{
@<a href="../../poodinis/autowire/Autowire.html"></span><span class="typ">Autowire</span></a><span class="pln">
</span><span class="pun">@</span><span class="typ">AssignNewInstance
</span><span class="kwd">public </span><span class="typ">Antenna </span><span class="pln">antenna</span><span class="pun">;
}</span></code></pre>
<p> antenna will always be assigned a new instance of class Antenna.
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,130 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function autowire</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function autowire</h1><p>Autowires members of a given instance using dependencies registered in the given container.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">void</span> <span class="pln">autowire</span>(Type)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="kwd">shared</span><span class="pun">(</span><a href="../../poodinis/container/DependencyContainer.html"><span class="typ">DependencyContainer</span></a><span class="pun">)</span> <span class="pln">container</span><span class="pun">,</span>
<br/>
&nbsp;&nbsp;<span class="typ">Type</span> <span class="pln">instance</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section><p>All members of the given instance, which are annotated using the "Autowire" UDA, are autowired.
Members can have any visibility (public, private, etc). All members are resolved using the given
container. Qualifiers are used to determine the type of class to resolve for any member of instance.
</p>
</section>
<section><h2>See Also</h2>
<p>Autowire
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,117 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct OptionalDependency</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct OptionalDependency</h1><p>UDA for marking autowired dependencies optional.
Optional dependencies will not lead to a resolveException when there is no type registered for them.
The member will remain null.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">OptionalDependency</span>
<span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function globalAutowire</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function globalAutowire</h1><p>Autowire the given instance using the globally available dependency container.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">void</span> <span class="pln">globalAutowire</span>(Type)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="typ">Type</span> <span class="pln">instance</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section></section>
<section><h2>See Also</h2>
<p>DependencyContainer
</p>
</section>
<section><h2>Deprecated</h2>
<p>Using the global container is undesired. See DependencyContainer.getInstance().
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,201 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.container</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.container</h1><p>Contains the implementation of the dependency container.
</p><section><p>Part of the Poodinis Dependency Injection framework.
</p>
</section>
<section></section>
<section>
<h2>Classes</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="DependencyContainer" class="public" href="../poodinis/container/DependencyContainer.html">DependencyContainer</a>
</code>
</td>
<td>The dependency container maintains all dependencies registered with it.
</td>
</tr>
<tr>
<td>
<code>
<a id="RegistrationException" class="public" href="../poodinis/container/RegistrationException.html">RegistrationException</a>
</code>
</td>
<td>Exception thrown when errors occur while registering a type in a dependency container.
</td>
</tr>
<tr>
<td>
<code>
<a id="ResolveException" class="public" href="../poodinis/container/ResolveException.html">ResolveException</a>
</code>
</td>
<td>Exception thrown when errors occur while resolving a type in a dependency container.
</td>
</tr>
</table>
</section>
<section>
<h2>Structs</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="PostConstruct" class="public" href="../poodinis/container/PostConstruct.html">PostConstruct</a>
</code>
</td>
<td>Methods marked with this UDA within dependencies are called after that dependency
is constructed by the dependency container.
</td>
</tr>
<tr>
<td>
<code>
<a id="PreDestroy" class="public" href="../poodinis/container/PreDestroy.html">PreDestroy</a>
</code>
</td>
<td>Methods marked with this UDA within dependencies are called before the container
loses the dependency's registration.
</td>
</tr>
</table>
</section>
<section>
<h2>Enums</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="RegistrationOption" class="public" href="../poodinis/container/RegistrationOption.html">RegistrationOption</a>
</code>
</td>
<td>Options which influence the process of registering dependencies
</td>
</tr>
<tr>
<td>
<code>
<a id="ResolveOption" class="public" href="../poodinis/container/ResolveOption.html">ResolveOption</a>
</code>
</td>
<td>Options which influence the process of resolving dependencies
</td>
</tr>
</table>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,114 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function DependencyContainer.clearAllRegistrations</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function DependencyContainer.clearAllRegistrations</h1><p>Clears all dependency registrations managed by this container.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">synchronized </span><span class="typ">void</span> <span class="pln">clearAllRegistrations</span><span class="pun">(</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">shared</span><span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,242 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Class DependencyContainer</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Class DependencyContainer</h1><p>The dependency container maintains all dependencies registered with it.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">class</span> <span class="typ">DependencyContainer</span>
<span class="pun">;</span>
</div>
</code>
</div>
<section><p>Dependencies registered by a container can be resolved as long as they are still registered with the container.
Upon resolving a dependency, an instance is fetched according to a specific scope which dictates how instances of
dependencies are created. Resolved dependencies will be autowired before being returned.
</p>
<p> In most cases you want to use a global singleton dependency container provided by getInstance() to manage all dependencies.
You can still create new instances of this class for exceptional situations.
</p>
</section>
<section><h2>Methods</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.clearAllRegistrations.html" class="public">
<code>clearAllRegistrations</code>
</a>
<span class="tableEntryAnnotation">()</span>
</td>
<td>Clears all dependency registrations managed by this container.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.register.html" class="public">
<code>register</code>
</a>
<span class="tableEntryAnnotation">(options)</span>
</td>
<td>Register a dependency by concrete class type.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.register.html" class="public">
<code>register</code>
</a>
<span class="tableEntryAnnotation">(options)</span>
</td>
<td>Register a dependency by super type.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.removeRegistration.html" class="public">
<code>removeRegistration</code>
</a>
<span class="tableEntryAnnotation">()</span>
</td>
<td>Removes a registered dependency by type.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.resolve.html" class="public">
<code>resolve</code>
</a>
<span class="tableEntryAnnotation">(resolveOptions)</span>
</td>
<td>Resolve dependencies.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.resolve.html" class="public">
<code>resolve</code>
</a>
<span class="tableEntryAnnotation">(resolveOptions)</span>
</td>
<td>Resolve dependencies using a qualifier.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.resolveAll.html" class="public">
<code>resolveAll</code>
</a>
<span class="tableEntryAnnotation">(resolveOptions)</span>
</td>
<td>Resolve all dependencies registered to a super type.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.setPersistentRegistrationOptions.html" class="public">
<code>setPersistentRegistrationOptions</code>
</a>
<span class="tableEntryAnnotation">(options)</span>
</td>
<td>Apply persistent registration options which will be used everytime register() is called.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.setPersistentResolveOptions.html" class="public">
<code>setPersistentResolveOptions</code>
</a>
<span class="tableEntryAnnotation">(options)</span>
</td>
<td>Apply persistent resolve options which will be used everytime resolve() is called.
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.unsetPersistentRegistrationOptions.html" class="public">
<code>unsetPersistentRegistrationOptions</code>
</a>
<span class="tableEntryAnnotation">()</span>
</td>
<td>Unsets all applied persistent registration options
</td>
</tr>
<tr>
<td>
<a href="../../poodinis/container/DependencyContainer.unsetPersistentResolveOptions.html" class="public">
<code>unsetPersistentResolveOptions</code>
</a>
<span class="tableEntryAnnotation">()</span>
</td>
<td>Unsets all applied persistent resolve options
</td>
</tr>
</table>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,188 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>DependencyContainer.register - multiple declarations</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>DependencyContainer.register - multiple declarations</h1>
<nav class="page-nav">
<ul>
<li>
<a href="#0">
Function <code>DependencyContainer.register</code>
</a>
</li>
<li>
<a href="#1">
Function <code>DependencyContainer.register</code>
</a>
</li>
</ul>
</nav><h2 id="0">Function DependencyContainer.register</h2><p>Register a dependency by concrete class type.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">Registration</span> <span class="pln">register</span>(ConcreteType)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<a href="../../poodinis/container/RegistrationOption.html"><span class="typ">RegistrationOption</span></a> <span class="pln">options</span> <span class="pun">=</span> <span class="typ">RegistrationOption<wbr/></span><span class="pun">.</span><span class="pln">none</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section><p>A dependency registered by concrete class type can only be resolved by concrete class type.
No qualifiers can be used when resolving dependencies which are registered by concrete type.
</p>
<p> The default registration scope is "single instance" scope.
</p>
</section>
<section><h3>Returns</h3>
<p>A registration is returned which can be used to change the registration scope.
</p>
</section>
<section><h3>Examples</h3>
<p>Register and resolve a class by concrete type:
</p>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">Cat </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!</span><span class="typ">Cat</span><span class="pun">;</span></code></pre>
</section>
<section><h3>See Also</h3>
<p>singleInstance, newInstance, existingInstance
</p>
</section>
<h2 id="1">Function DependencyContainer.register</h2><p>Register a dependency by super type.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">Registration</span> <span class="pln">register</span>(SuperType, ConcreteType)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<a href="../../poodinis/container/RegistrationOption.html"><span class="typ">RegistrationOption</span></a> <span class="pln">options</span> <span class="pun">=</span> <span class="typ">RegistrationOption<wbr/></span><span class="pun">.</span><span class="pln">none</span>
<br/>
<span class="pun">)</span>
<br/>
<span class="kwd">if</span> <span class="pun">(</span><span class="pun">!</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ConcreteType </span><span class="pun">== </span><span class="kwd">struct</span><span class="pun">)</span><span class="pun">);</span>
</div>
</code>
</div>
<section><p>A dependency registered by super type can only be resolved by super type. A qualifier is typically
used to resolve dependencies registered by super type.
</p>
<p> The default registration scope is "single instance" scope.
</p>
</section>
<section><h3>Examples</h3>
<p>Register and resolve by super type
</p>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">Cat </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Cat</span><span class="pun">);</span></code></pre>
</section>
<section><h3>See Also</h3>
<p>singleInstance, newInstance, existingInstance, RegistrationOption
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,120 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function DependencyContainer.removeRegistration</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function DependencyContainer.removeRegistration</h1><p>Removes a registered dependency by type.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">void</span> <span class="pln">removeRegistration</span>(RegistrationType)<span class="pun">(</span><span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section><p>A dependency can be removed either by super type or concrete type, depending on how they are registered.
</p>
</section>
<section><h2>Examples</h2>
<pre class="code"><code class="lang-d"><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">removeRegistration</span><span class="pun">!</span><span class="typ">Animal</span><span class="pun">;</span></code></pre>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,217 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>DependencyContainer.resolve - multiple declarations</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>DependencyContainer.resolve - multiple declarations</h1>
<nav class="page-nav">
<ul>
<li>
<a href="#0">
Function <code>DependencyContainer.resolve</code>
</a>
</li>
<li>
<a href="#1">
Function <code>DependencyContainer.resolve</code>
</a>
</li>
</ul>
</nav><h2 id="0">Function DependencyContainer.resolve</h2><p>Resolve dependencies.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">RegistrationType</span> <span class="pln">resolve</span>(RegistrationType)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<a href="../../poodinis/container/ResolveOption.html"><span class="typ">ResolveOption</span></a> <span class="pln">resolveOptions</span> <span class="pun">=</span> <span class="typ">ResolveOption<wbr/></span><span class="pun">.</span><span class="pln">none</span>
<br/>
<span class="pun">)</span>
<br/>
<span class="kwd">if</span> <span class="pun">(</span><span class="pun">!</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">RegistrationType </span><span class="pun">== </span><span class="kwd">struct</span><span class="pun">)</span><span class="pun">);</span>
</div>
</code>
</div>
<section><p>Dependencies can only resolved using this method if they are registered by concrete type or the only
concrete type registered by super type.
</p>
<p> Resolved dependencies are automatically autowired before being returned.
</p>
</section>
<section><h3>Returns</h3>
<p>An instance is returned which is created according to the registration scope with which they are registered.
</p>
</section>
<section><h3>Throws</h3>
<p>ResolveException when type is not registered.
</p>
</section>
<section><h3>Examples</h3>
<p>Resolve dependencies registered by super type and concrete type:
</p>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">Cat </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="kwd">class </span><span class="typ">Dog </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Cat</span><span class="pun">);
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!</span><span class="typ">Dog</span><span class="pun">;
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">resolve</span><span class="pun">!</span><span class="typ">Animal</span><span class="pun">;
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">resolve</span><span class="pun">!</span><span class="typ">Dog</span><span class="pun">;</span></code></pre>
<p> You cannot resolve a dependency when it is registered by multiple super types:
</p>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">Cat </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="kwd">class </span><span class="typ">Dog </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Cat</span><span class="pun">);
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Dog</span><span class="pun">);
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">resolve</span><span class="pun">!</span><span class="typ">Animal</span><span class="pun">; </span><span class="com">// Error: multiple candidates for type "Animal"
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">resolve</span><span class="pun">!</span><span class="typ">Dog</span><span class="pun">; </span><span class="com">// Error: No type is registered by concrete type "Dog", only by super type "Animal"</span></code></pre>
<p> You need to use the resolve method which allows you to specify a qualifier.
</p>
</section>
<h2 id="1">Function DependencyContainer.resolve</h2><p>Resolve dependencies using a qualifier.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">QualifierType</span> <span class="pln">resolve</span>(RegistrationType, QualifierType)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<a href="../../poodinis/container/ResolveOption.html"><span class="typ">ResolveOption</span></a> <span class="pln">resolveOptions</span> <span class="pun">=</span> <span class="typ">ResolveOption<wbr/></span><span class="pun">.</span><span class="pln">none</span>
<br/>
<span class="pun">)</span>
<br/>
<span class="kwd">if</span> <span class="pun">(</span><span class="pun">!</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">QualifierType </span><span class="pun">== </span><span class="kwd">struct</span><span class="pun">)</span><span class="pun">);</span>
</div>
</code>
</div>
<section><p>Dependencies can only resolved using this method if they are registered by super type.
</p>
<p> Resolved dependencies are automatically autowired before being returned.
</p>
</section>
<section><h3>Returns</h3>
<p>An instance is returned which is created according to the registration scope with which they are registered.
</p>
</section>
<section><h3>Throws</h3>
<p>ResolveException when type is not registered or there are multiple candidates available for type.
</p>
</section>
<section><h3>Examples</h3>
<p>Resolve dependencies registered by super type:
</p>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">Cat </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="kwd">class </span><span class="typ">Dog </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Cat</span><span class="pun">);
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Dog</span><span class="pun">);
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">resolve</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Cat</span><span class="pun">);
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">resolve</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Dog</span><span class="pun">);</span></code></pre>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,133 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function DependencyContainer.resolveAll</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function DependencyContainer.resolveAll</h1><p>Resolve all dependencies registered to a super type.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">RegistrationType</span><span class="pun">[]</span> <span class="pln">resolveAll</span>(RegistrationType)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<a href="../../poodinis/container/ResolveOption.html"><span class="typ">ResolveOption</span></a> <span class="pln">resolveOptions</span> <span class="pun">=</span> <span class="typ">ResolveOption<wbr/></span><span class="pun">.</span><span class="pln">none</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section></section>
<section><h2>Returns</h2>
<p>An array of autowired instances is returned. The order is undetermined.
</p>
</section>
<section><h2>Examples</h2>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">Cat </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="kwd">class </span><span class="typ">Dog </span><span class="pun">: </span><span class="typ">Animal </span><span class="pun">{ ... }
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Cat</span><span class="pun">);
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">Animal</span><span class="pun">, </span><span class="typ">Dog</span><span class="pun">);
</span><span class="typ">Animal</span><span class="pun">[] </span><span class="pln">animals </span><span class="pun">= </span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">resolveAll</span><span class="pun">!</span><span class="typ">Animal</span><span class="pun">;</span></code></pre>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,119 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function DependencyContainer.setPersistentRegistrationOptions</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function DependencyContainer.setPersistentRegistrationOptions</h1><p>Apply persistent registration options which will be used everytime register() is called.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">synchronized </span><span class="typ">void</span> <span class="pln">setPersistentRegistrationOptions</span>
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<a href="../../poodinis/container/RegistrationOption.html"><span class="typ">RegistrationOption</span></a> <span class="pln">options</span>
<br/>
<span class="pun">)</span><span class="pln"> </span><span class="kwd">shared</span><span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,119 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function DependencyContainer.setPersistentResolveOptions</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function DependencyContainer.setPersistentResolveOptions</h1><p>Apply persistent resolve options which will be used everytime resolve() is called.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">synchronized </span><span class="typ">void</span> <span class="pln">setPersistentResolveOptions</span>
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<a href="../../poodinis/container/ResolveOption.html"><span class="typ">ResolveOption</span></a> <span class="pln">options</span>
<br/>
<span class="pun">)</span><span class="pln"> </span><span class="kwd">shared</span><span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,114 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function DependencyContainer.unsetPersistentRegistrationOptions</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function DependencyContainer.unsetPersistentRegistrationOptions</h1><p>Unsets all applied persistent registration options
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">synchronized </span><span class="typ">void</span> <span class="pln">unsetPersistentRegistrationOptions</span><span class="pun">(</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">shared</span><span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,114 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function DependencyContainer.unsetPersistentResolveOptions</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function DependencyContainer.unsetPersistentResolveOptions</h1><p>Unsets all applied persistent resolve options
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">synchronized </span><span class="typ">void</span> <span class="pln">unsetPersistentResolveOptions</span><span class="pun">(</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">shared</span><span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,120 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct PostConstruct</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct PostConstruct</h1><p>Methods marked with this UDA within dependencies are called after that dependency
is constructed by the dependency container.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">PostConstruct</span>
<span class="pun">;</span>
</div>
</code>
</div>
<section><p>Multiple methods can be marked and will all be called after construction. The order in which
methods are called is undetermined. Methods should have the signature void(void).
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,120 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct PreDestroy</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct PreDestroy</h1><p>Methods marked with this UDA within dependencies are called before the container
loses the dependency's registration.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">PreDestroy</span>
<span class="pun">;</span>
</div>
</code>
</div>
<section><p>This method is called when removeRegistration or clearAllRegistrations is called.
It will also be called when the container's destructor is called.
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,116 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Class RegistrationException</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Class RegistrationException</h1><p>Exception thrown when errors occur while registering a type in a dependency container.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">class</span> <span class="typ">RegistrationException</span>
<br>&nbsp;&nbsp;: <span class="pln">object<wbr/></span><span class="pun">.</span><span class="typ">Exception</span>
<span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,131 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Enum RegistrationOption</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Enum RegistrationOption</h1><p>Options which influence the process of registering dependencies
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">enum</span> <span class="typ">RegistrationOption</span>
<span class="pun">:</span> <span class="typ">int</span> <span class="pun">{ ... }</span>
</div>
</code>
</div>
<section><h2>Enum members</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td id="doNotAddConcreteTypeRegistration">
<code>doNotAddConcreteTypeRegistration</code>
</td>
<td>Prevent a concrete type being registered on itself. With this option you will always need
to use the supertype as the type of the dependency.
</td>
</tr>
</table>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,116 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Class ResolveException</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Class ResolveException</h1><p>Exception thrown when errors occur while resolving a type in a dependency container.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">class</span> <span class="typ">ResolveException</span>
<br>&nbsp;&nbsp;: <span class="pln">object<wbr/></span><span class="pun">.</span><span class="typ">Exception</span>
<span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,140 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Enum ResolveOption</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Enum ResolveOption</h1><p>Options which influence the process of resolving dependencies
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">enum</span> <span class="typ">ResolveOption</span>
<span class="pun">:</span> <span class="typ">int</span> <span class="pun">{ ... }</span>
</div>
</code>
</div>
<section><h2>Enum members</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td id="noResolveException">
<code>noResolveException</code>
</td>
<td>Does not throw a resolve exception when a type is not registered but will
return null instead. If the type is an array, an empty array is returned instead.
</td>
</tr>
<tr>
<td id="registerBeforeResolving">
<code>registerBeforeResolving</code>
</td>
<td>Registers the type you're trying to resolve before returning it.
This essentially makes registration optional for resolving by concerete types.
Resolinvg will still fail when trying to resolve a dependency by supertype.
</td>
</tr>
</table>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,166 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.context</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.context</h1><p>Contains the implementation of application context setup.
</p><section><p>Part of the Poodinis Dependency Injection framework.
</p>
</section>
<section></section>
<section>
<h2>Functions</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="registerContext" class="public" href="../poodinis/context/registerContext.html">registerContext</a><span class="tableEntryAnnotation">(container)</span>
</code>
</td>
<td>Register dependencies through an application context.
</td>
</tr>
</table>
</section>
<section>
<h2>Structs</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="Component" class="public" href="../poodinis/context/Component.html">Component</a>
</code>
</td>
<td>A component annotation is used for specifying which factory methods produce components in
an application context.
</td>
</tr>
<tr>
<td>
<code>
<a id="Prototype" class="public" href="../poodinis/context/Prototype.html">Prototype</a>
</code>
</td>
<td>Components with the prototype registration will be scoped as dependencies which will create
new instances every time they are resolved. The factory method will be called repeatedly.
</td>
</tr>
<tr>
<td>
<code>
<a id="RegisterByType" class="public" href="../poodinis/context/RegisterByType.html">RegisterByType</a>
</code>
</td>
<td>This annotation allows you to specify by which super type the component should be registered. This
enables you to use type-qualified alternatives for dependencies.
</td>
</tr>
</table>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,116 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct Component</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct Component</h1><p>A component annotation is used for specifying which factory methods produce components in
an application context.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">Component</span>
<span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,116 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct Prototype</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct Prototype</h1><p>Components with the prototype registration will be scoped as dependencies which will create
new instances every time they are resolved. The factory method will be called repeatedly.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">Prototype</span>
<span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,116 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct RegisterByType</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct RegisterByType</h1><p>This annotation allows you to specify by which super type the component should be registered. This
enables you to use type-qualified alternatives for dependencies.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">RegisterByType</span>(Type)
<span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,124 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function registerContext</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function registerContext</h1><p>Register dependencies through an application context.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">void</span> <span class="pln">registerContext</span>(Context)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="kwd">shared</span><span class="pun">(</span><a href="../../poodinis/container/DependencyContainer.html"><span class="typ">DependencyContainer</span></a><span class="pun">)</span> <span class="pln">container</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section><p>An application context allows you to fine-tune dependency set-up and instantiation.
It is mostly used for dependencies which come from an external library or when you don't
want to use annotations to set-up dependencies in your classes.
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,107 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.factory</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.factory</h1><p>This module contains instance factory facilities
</p><section></section>
<section></section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,107 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.imports</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.imports</h1><p>This module contains instance factory facilities
</p><section></section>
<section></section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,125 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.polyfill</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.polyfill</h1><p>Forward-compatibility module for providing support for Phobos functionality
not available in older versions of Phobos.
</p><section><p>Should not implement functionalitiy which is gone from the latest Phobos.
</p>
<p> Implementations copied/re-implemented from std.exception and std.traits;
</p>
<p> The baseline compatibility is D/Phobos 2.068.2
</p>
</section>
<section></section>
</div>
<footer>
<div id="license-info">
<p>erdani.org, Andrei Alexandrescu,
Jonathan M Davis,
digitalmars.com, Walter Bright,
Tomasz Stachowiak (<code class="lang-d"><span class="pln">isExpressions</span></code>),
erdani.org, Andrei Alexandrescu,
Shin Fujishiro,
octarineparrot.com, Robert Clipsham,
klickverbot.at, David Nadlinger,
Kenji Hara,
Shoichi Kato,
Mike Bierlee (m.bierlee@lostmoment.com)
</p>
<p>Copyright Digital Mars 2005 - 2009., Copyright Andrei Alexandrescu 2008-, Jonathan M Davis 2011-., 2014-2023 Mike Bierlee
</p>
<p>boost.org/LICENSE_1_0.txt, Boost License 1.0
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,172 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.registration</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.registration</h1><p>This module contains objects for defining and scoping dependency registrations.
</p><section><p>Part of the Poodinis Dependency Injection framework.
</p>
</section>
<section></section>
<section>
<h2>Functions</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="existingInstance" class="public" href="../poodinis/registration/existingInstance.html">existingInstance</a><span class="tableEntryAnnotation">(registration, instance)</span>
</code>
</td>
<td>Scopes registrations to return the given instance every time the given registration is resolved.
</td>
</tr>
<tr>
<td>
<code>
<a id="initializedBy" class="public" href="../poodinis/registration/initializedBy.html">initializedBy</a><span class="tableEntryAnnotation">(registration, initializer)</span>
</code>
</td>
<td>Scopes registrations to create new instances using the given initializer delegate.
</td>
</tr>
<tr>
<td>
<code>
<a id="initializedOnceBy" class="public" href="../poodinis/registration/initializedOnceBy.html">initializedOnceBy</a><span class="tableEntryAnnotation">(registration, initializer)</span>
</code>
</td>
<td>Scopes registrations to create a new instance using the given initializer delegate. On subsequent resolves the same instance is returned.
</td>
</tr>
<tr>
<td>
<code>
<a id="initializeFactoryType" class="public" href="../poodinis/registration/initializeFactoryType.html">initializeFactoryType</a><span class="tableEntryAnnotation">(registration)</span>
</code>
</td>
<td>Sets the registration's instance factory type the same as the registration's.
</td>
</tr>
<tr>
<td>
<code>
<a id="newInstance" class="public" href="../poodinis/registration/newInstance.html">newInstance</a><span class="tableEntryAnnotation">(registration)</span>
</code>
</td>
<td>Scopes registrations to return a new instance every time the given registration is resolved.
</td>
</tr>
<tr>
<td>
<code>
<a id="singleInstance" class="public" href="../poodinis/registration/singleInstance.html">singleInstance</a><span class="tableEntryAnnotation">(registration)</span>
</code>
</td>
<td>Scopes registrations to return the same instance every time a given registration is resolved.
</td>
</tr>
</table>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,121 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function existingInstance</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function existingInstance</h1><p>Scopes registrations to return the given instance every time the given registration is resolved.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="pln">poodinis<wbr/></span><span class="pun">.</span><span class="pln">registration<wbr/></span><span class="pun">.</span><span class="typ">Registration</span> <span class="pln">existingInstance</span>
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="pln">poodinis<wbr/></span><span class="pun">.</span><span class="pln">registration<wbr/></span><span class="pun">.</span><span class="typ">Registration</span> <span class="pln">registration</span><span class="pun">,</span>
<br/>
&nbsp;&nbsp;<span class="typ">Object</span> <span class="pln">instance</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,122 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function initializeFactoryType</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function initializeFactoryType</h1><p>Sets the registration's instance factory type the same as the registration's.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="pln">poodinis<wbr/></span><span class="pun">.</span><span class="pln">registration<wbr/></span><span class="pun">.</span><span class="typ">Registration</span> <span class="pln">initializeFactoryType</span>
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="pln">poodinis<wbr/></span><span class="pun">.</span><span class="pln">registration<wbr/></span><span class="pun">.</span><span class="typ">Registration</span> <span class="pln">registration</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section><p>This is not a registration scope. Typically used by Poodinis internally only.
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,123 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function initializedBy</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function initializedBy</h1><p>Scopes registrations to create new instances using the given initializer delegate.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">Registration</span> <span class="pln">initializedBy</span>(T)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="typ">Registration</span> <span class="pln">registration</span><span class="pun">,</span>
<br/>
&nbsp;&nbsp;<span class="pln">T</span> <span class="kwd">delegate</span><span class="pun">(</span><span class="pun">)</span> <span class="pln">initializer</span>
<br/>
<span class="pun">)</span>
<br/>
<span class="kwd">if</span> <span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="pln">T </span><span class="pun">== </span><span class="kwd">class</span><span class="pun">) || </span><span class="kwd">is</span><span class="pun">(</span><span class="pln">T </span><span class="pun">== </span><span class="kwd">interface</span><span class="pun">)</span><span class="pun">);</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,121 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function initializedOnceBy</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function initializedOnceBy</h1><p>Scopes registrations to create a new instance using the given initializer delegate. On subsequent resolves the same instance is returned.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">Registration</span> <span class="pln">initializedOnceBy</span>(T)
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="typ">Registration</span> <span class="pln">registration</span><span class="pun">,</span>
<br/>
&nbsp;&nbsp;<span class="pln">T</span> <span class="kwd">delegate</span><span class="pun">(</span><span class="pun">)</span> <span class="pln">initializer</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,119 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function newInstance</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function newInstance</h1><p>Scopes registrations to return a new instance every time the given registration is resolved.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="pln">poodinis<wbr/></span><span class="pun">.</span><span class="pln">registration<wbr/></span><span class="pun">.</span><span class="typ">Registration</span> <span class="pln">newInstance</span>
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="pln">poodinis<wbr/></span><span class="pun">.</span><span class="pln">registration<wbr/></span><span class="pun">.</span><span class="typ">Registration</span> <span class="pln">registration</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,122 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function singleInstance</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function singleInstance</h1><p>Scopes registrations to return the same instance every time a given registration is resolved.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="pln">poodinis<wbr/></span><span class="pun">.</span><span class="pln">registration<wbr/></span><span class="pun">.</span><span class="typ">Registration</span> <span class="pln">singleInstance</span>
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="pln">poodinis<wbr/></span><span class="pun">.</span><span class="pln">registration<wbr/></span><span class="pun">.</span><span class="typ">Registration</span> <span class="pln">registration</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section><p>Effectively makes the given registration a singleton.
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,180 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Module poodinis.valueinjection</title>
<link rel="stylesheet" href="../css/style.min.css"/>
<script type="text/javascript" src="../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Module poodinis.valueinjection</h1><p>This module contains facilities to support value injection. Actual injection is done by the
autowiring mechanism.
</p><section></section>
<section></section>
<section>
<h2>Interfaces</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="ValueInjector" class="public" href="../poodinis/valueinjection/ValueInjector.html">ValueInjector</a>
</code>
</td>
<td>Interface which should be implemented by value injectors.
</td>
</tr>
</table>
</section>
<section>
<h2>Classes</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="ValueInjectionException" class="public" href="../poodinis/valueinjection/ValueInjectionException.html">ValueInjectionException</a>
</code>
</td>
<td>Thrown when something goes wrong during value injection.
</td>
</tr>
<tr>
<td>
<code>
<a id="ValueNotAvailableException" class="public" href="../poodinis/valueinjection/ValueNotAvailableException.html">ValueNotAvailableException</a>
</code>
</td>
<td>Thrown by injectors when the value with the given key cannot be found.
</td>
</tr>
</table>
</section>
<section>
<h2>Structs</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<code>
<a id="MandatoryValue" class="public" href="../poodinis/valueinjection/MandatoryValue.html">MandatoryValue</a>
</code>
</td>
<td>UDA used for marking class members which should be value-injected.
</td>
</tr>
<tr>
<td>
<code>
<a id="Value" class="public" href="../poodinis/valueinjection/Value.html">Value</a>
</code>
</td>
<td>UDA used for marking class members which should be value-injected.
</td>
</tr>
</table>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,144 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct MandatoryValue</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct MandatoryValue</h1><p>UDA used for marking class members which should be value-injected.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">MandatoryValue</span>
<span class="pun">;</span>
</div>
</code>
</div>
<section><p>When the injector throws a ValueNotAvailableException, it is re-thrown
instead of being suppressed.
</p>
<p> A key must be supplied, which can be in any format depending on how
a value injector reads it.
</p>
</section>
<section><h2>Fields</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Type</th><th>Description</th>
</tr>
<tr>
<td>
<a href="../../poodinis/valueinjection/MandatoryValue.key.html" class="public"><code>key</code></a>
</td>
<td class="typecol"><code class="prettyprint lang-d"><span class="typ">string</span></code></td><td>The textual key used to find the value by injectors.
</td>
</tr>
</table>
</section>
<section><h2>Examples</h2>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">MyClass </span><span class="pun">{
@</span><span class="typ">MandatoryValue</span><span class="pun">(</span><span class="str">"general.valueWhichShouldBeThere"</span><span class="pun">)
</span><span class="kwd">private </span><span class="typ">int </span><span class="pln">number</span><span class="pun">;
}</span></code></pre>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,130 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Variable MandatoryValue.key</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Variable MandatoryValue.key</h1><p>The textual key used to find the value by injectors.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <a href="../../poodinis/valueinjection/MandatoryValue.html"><span class="typ">MandatoryValue</span></a>
<br/>
<span class="pun">
{
<br/>
</span>
&nbsp;&nbsp;<span class="com">// ...</span>
<br/>
&nbsp;&nbsp;<span class="typ">string</span> <span class="pln">key</span>
<span class="pun">;</span>
<br/>
&nbsp;&nbsp;<span class="com">// ...</span>
<br/>
<span class="pun">}</span>
</div>
</code>
</div>
<section><p>The format is injector-specific.
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,144 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Struct Value</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Struct Value</h1><p>UDA used for marking class members which should be value-injected.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <span class="typ">Value</span>
<span class="pun">;</span>
</div>
</code>
</div>
<section><p>A key must be supplied, which can be in any format depending on how
a value injector reads it.
</p>
<p> When the injector throws a ValueNotAvailableException, the value is
not injected and will keep its original assignment.
</p>
</section>
<section><h2>Fields</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Type</th><th>Description</th>
</tr>
<tr>
<td>
<a href="../../poodinis/valueinjection/Value.key.html" class="public"><code>key</code></a>
</td>
<td class="typecol"><code class="prettyprint lang-d"><span class="typ">string</span></code></td><td>The textual key used to find the value by injectors.
</td>
</tr>
</table>
</section>
<section><h2>Examples</h2>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">MyClass </span><span class="pun">{
@</span><span class="typ">Value</span><span class="pun">(</span><span class="str">"general.importantNumber"</span><span class="pun">)
</span><span class="kwd">private </span><span class="typ">int </span><span class="pln">number </span><span class="pun">= </span><span class="lit">8</span><span class="pun">;
}</span></code></pre>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,130 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Variable Value.key</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Variable Value.key</h1><p>The textual key used to find the value by injectors.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">struct</span> <a href="../../poodinis/valueinjection/Value.html"><span class="typ">Value</span></a>
<br/>
<span class="pun">
{
<br/>
</span>
&nbsp;&nbsp;<span class="com">// ...</span>
<br/>
&nbsp;&nbsp;<span class="typ">string</span> <span class="pln">key</span>
<span class="pun">;</span>
<br/>
&nbsp;&nbsp;<span class="com">// ...</span>
<br/>
<span class="pun">}</span>
</div>
</code>
</div>
<section><p>The format is injector-specific.
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,116 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Class ValueInjectionException</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Class ValueInjectionException</h1><p>Thrown when something goes wrong during value injection.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">class</span> <span class="typ">ValueInjectionException</span>
<br>&nbsp;&nbsp;: <span class="pln">object<wbr/></span><span class="pun">.</span><span class="typ">Exception</span>
<span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,127 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Function ValueInjector.get</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Function ValueInjector.get</h1><p>Get a value from the injector by key.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="typ">Type</span> <span class="pln">get</span>
<span class="pun">(</span>
<br/>
&nbsp;&nbsp;<span class="typ">string</span> <span class="pln">key</span>
<br/>
<span class="pun">)</span><span class="pun">;</span>
</div>
</code>
</div>
<section><p>The key can have any format. Generally you are encouraged
to accept a dot separated path, for example: server.http.port
</p>
</section>
<section><h2>Throws</h2>
<p>ValueNotAvailableException when the value for the given key is not available for any reason
</p>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,153 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Interface ValueInjector</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Interface ValueInjector</h1><p>Interface which should be implemented by value injectors.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">interface</span> <span class="typ">ValueInjector</span>(Type)
<span class="pun">;</span>
</div>
</code>
</div>
<section><p>Each value injector injects one specific type. The type can be any primitive
type or that of a struct. While class types are also supported, value injectors
are not intended for them.
</p>
<p> Note that value injectors are also autowired before being used. Values within dependencies of
a value injector are not injected. Neither are values within the value injector itself.
</p>
<p> Value injection is not supported for constructor injection.
</p>
</section>
<section><h2>Methods</h2>
<table>
<col class="caption"/>
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td>
<a href="../../poodinis/valueinjection/ValueInjector.get.html" class="public">
<code>get</code>
</a>
<span class="tableEntryAnnotation">(key)</span>
</td>
<td>Get a value from the injector by key.
</td>
</tr>
</table>
</section>
<section><h2>Examples</h2>
<pre class="code"><code class="lang-d"><span class="kwd">class </span><span class="typ">MyIntInjector </span><span class="pun">: </span><span class="typ">ValueInjector</span><span class="pun">!</span><span class="typ">int </span><span class="pun">{
</span><span class="kwd">public override </span><span class="typ">int <a href="../../poodinis/valueinjection/ValueInjector.get.html"></span><span class="pln">get</span></a><span class="pun">(</span><span class="typ">string </span><span class="pln">key</span><span class="pun">) { ... }
}
</span><span class="com">// In order to make the container use your injector, register it by interface:
</span><span class="pln">container<wbr/></span><span class="pun">.</span><span class="pln">register</span><span class="pun">!(</span><span class="typ">ValueInjector</span><span class="pun">!</span><span class="typ">int</span><span class="pun">, </span><span class="typ">MyIntInjector</span><span class="pun">);</span></code></pre>
</section>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,116 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<title>Class ValueNotAvailableException</title>
<link rel="stylesheet" href="../../css/style.min.css"/>
<script type="text/javascript" src="../../js/script.min.js"></script>
</head>
<body onload="setupDdox();">
<header></header>
<nav id="main-nav">
<div>
<noscript>
<p style="color: red">The search functionality needs JavaScript enabled</p>
</noscript>
<div id="symbolSearchPane" style="display: none">
<form action="#" method="GET">
<input id="symbolSearch" type="text" name="q" placeholder="Search for symbols" autocomplete="off" onchange="performSymbolSearch(24);" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" autofocus/>
</form>
<ul id="symbolSearchResults" class="symbolList" style="display: none"></ul><script type="application/javascript" src="../../symbols.js"></script><script type="application/javascript">var symbolSearchRootDir = "../../";
document.getElementById('symbolSearchPane').style.display = 'block';</script>
</div>
<ul class="tree-view">
<li class="tree-view ">
<div class="package ">
<a href="../../poodinis.html">poodinis</a>
</div>
<ul class="tree-view">
<li>
<div class="module ">
<a href="../../poodinis/altphobos.html">altphobos</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/autowire.html">autowire</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/container.html">container</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/context.html">context</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/factory.html">factory</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/imports.html">imports</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/polyfill.html">polyfill</a>
</div>
</li>
<li>
<div class="module ">
<a href="../../poodinis/registration.html">registration</a>
</div>
</li>
<li>
<div class="module selected">
<a href="../../poodinis/valueinjection.html">valueinjection</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
<p id="main-nav-footer">
Built with
<a href="https://github.com/MartinNowak/scod">scod</a>
</p>
</nav>
<div id="main-contents">
<div>
<h1>Class ValueNotAvailableException</h1><p>Thrown by injectors when the value with the given key cannot be found.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">class</span> <span class="typ">ValueNotAvailableException</span>
<br>&nbsp;&nbsp;: <span class="pln">object<wbr/></span><span class="pun">.</span><span class="typ">Exception</span>
<span class="pun">;</span>
</div>
</code>
</div>
</div>
<footer>
<div id="license-info">
<p>Mike Bierlee, m.bierlee@lostmoment.com
</p>
<p>2014-2023 Mike Bierlee
</p>
<p>This software is licensed under the terms of the MIT license.
The full terms of the license can be found in the LICENSE file.
</p>
</div>
</footer>
</div>
</body>
</html>

View file

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://127.0.0.1/index.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/altphobos.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/autowire.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/autowire/AssignNewInstance.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/autowire/autowire.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/autowire/Autowire.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/autowire/globalAutowire.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/autowire/OptionalDependency.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.clearAllRegistrations.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.register.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.register.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.removeRegistration.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.resolve.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.resolve.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.resolveAll.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.setPersistentRegistrationOptions.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.setPersistentResolveOptions.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.unsetPersistentRegistrationOptions.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/DependencyContainer.unsetPersistentResolveOptions.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/PostConstruct.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/PreDestroy.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/RegistrationException.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/RegistrationOption.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/ResolveException.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/container/ResolveOption.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/context.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/context/Component.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/context/Prototype.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/context/RegisterByType.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/context/registerContext.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/factory.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/imports.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/polyfill.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/registration.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/registration/existingInstance.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/registration/initializedBy.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/registration/initializedOnceBy.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/registration/initializeFactoryType.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/registration/newInstance.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/registration/singleInstance.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection/MandatoryValue.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection/MandatoryValue.key.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection/Value.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection/Value.key.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection/ValueInjectionException.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection/ValueInjector.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection/ValueInjector.get.html</loc></url>
<url><loc>http://127.0.0.1/poodinis/valueinjection/ValueNotAvailableException.html</loc></url>
<url><loc>http://127.0.0.1/poodinis.html</loc></url>
</urlset>

View file

@ -1,55 +0,0 @@
// symbol index generated by DDOX - do not edit
var symbols = [
{name: 'poodinis.altphobos', kind: "module", path: './poodinis/altphobos.html', attributes: []},
{name: 'poodinis.autowire', kind: "module", path: './poodinis/autowire.html', attributes: []},
{name: 'poodinis.autowire.AssignNewInstance', kind: "structdeclaration", path: './poodinis/autowire/AssignNewInstance.html', attributes: []},
{name: 'poodinis.autowire.autowire', kind: "functiondeclaration", path: './poodinis/autowire/autowire.html', attributes: []},
{name: 'poodinis.autowire.Autowire', kind: "structdeclaration", path: './poodinis/autowire/Autowire.html', attributes: []},
{name: 'poodinis.autowire.globalAutowire', kind: "functiondeclaration", path: './poodinis/autowire/globalAutowire.html', attributes: []},
{name: 'poodinis.autowire.OptionalDependency', kind: "structdeclaration", path: './poodinis/autowire/OptionalDependency.html', attributes: []},
{name: 'poodinis.container', kind: "module", path: './poodinis/container.html', attributes: []},
{name: 'poodinis.container.DependencyContainer', kind: "classdeclaration", path: './poodinis/container/DependencyContainer.html', attributes: []},
{name: 'poodinis.container.DependencyContainer.clearAllRegistrations', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.clearAllRegistrations.html', attributes: ["synchronized", "shared"]},
{name: 'poodinis.container.DependencyContainer.register', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.register.html', attributes: []},
{name: 'poodinis.container.DependencyContainer.removeRegistration', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.removeRegistration.html', attributes: []},
{name: 'poodinis.container.DependencyContainer.resolve', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.resolve.html', attributes: []},
{name: 'poodinis.container.DependencyContainer.resolveAll', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.resolveAll.html', attributes: []},
{name: 'poodinis.container.DependencyContainer.setPersistentRegistrationOptions', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.setPersistentRegistrationOptions.html', attributes: ["synchronized", "shared"]},
{name: 'poodinis.container.DependencyContainer.setPersistentResolveOptions', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.setPersistentResolveOptions.html', attributes: ["synchronized", "shared"]},
{name: 'poodinis.container.DependencyContainer.unsetPersistentRegistrationOptions', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.unsetPersistentRegistrationOptions.html', attributes: ["synchronized", "shared"]},
{name: 'poodinis.container.DependencyContainer.unsetPersistentResolveOptions', kind: "functiondeclaration", path: './poodinis/container/DependencyContainer.unsetPersistentResolveOptions.html', attributes: ["synchronized", "shared"]},
{name: 'poodinis.container.PostConstruct', kind: "structdeclaration", path: './poodinis/container/PostConstruct.html', attributes: []},
{name: 'poodinis.container.PreDestroy', kind: "structdeclaration", path: './poodinis/container/PreDestroy.html', attributes: []},
{name: 'poodinis.container.RegistrationException', kind: "classdeclaration", path: './poodinis/container/RegistrationException.html', attributes: []},
{name: 'poodinis.container.RegistrationOption', kind: "enumdeclaration", path: './poodinis/container/RegistrationOption.html', attributes: []},
{name: 'poodinis.container.RegistrationOption.doNotAddConcreteTypeRegistration', kind: "enummemberdeclaration", path: './poodinis/container/RegistrationOption.html#doNotAddConcreteTypeRegistration', attributes: []},
{name: 'poodinis.container.ResolveException', kind: "classdeclaration", path: './poodinis/container/ResolveException.html', attributes: []},
{name: 'poodinis.container.ResolveOption', kind: "enumdeclaration", path: './poodinis/container/ResolveOption.html', attributes: []},
{name: 'poodinis.container.ResolveOption.noResolveException', kind: "enummemberdeclaration", path: './poodinis/container/ResolveOption.html#noResolveException', attributes: []},
{name: 'poodinis.container.ResolveOption.registerBeforeResolving', kind: "enummemberdeclaration", path: './poodinis/container/ResolveOption.html#registerBeforeResolving', attributes: []},
{name: 'poodinis.context', kind: "module", path: './poodinis/context.html', attributes: []},
{name: 'poodinis.context.Component', kind: "structdeclaration", path: './poodinis/context/Component.html', attributes: []},
{name: 'poodinis.context.Prototype', kind: "structdeclaration", path: './poodinis/context/Prototype.html', attributes: []},
{name: 'poodinis.context.RegisterByType', kind: "structdeclaration", path: './poodinis/context/RegisterByType.html', attributes: []},
{name: 'poodinis.context.registerContext', kind: "functiondeclaration", path: './poodinis/context/registerContext.html', attributes: []},
{name: 'poodinis.factory', kind: "module", path: './poodinis/factory.html', attributes: []},
{name: 'poodinis.imports', kind: "module", path: './poodinis/imports.html', attributes: []},
{name: 'poodinis.polyfill', kind: "module", path: './poodinis/polyfill.html', attributes: []},
{name: 'poodinis.registration', kind: "module", path: './poodinis/registration.html', attributes: []},
{name: 'poodinis.registration.existingInstance', kind: "functiondeclaration", path: './poodinis/registration/existingInstance.html', attributes: []},
{name: 'poodinis.registration.initializedBy', kind: "functiondeclaration", path: './poodinis/registration/initializedBy.html', attributes: []},
{name: 'poodinis.registration.initializedOnceBy', kind: "functiondeclaration", path: './poodinis/registration/initializedOnceBy.html', attributes: []},
{name: 'poodinis.registration.initializeFactoryType', kind: "functiondeclaration", path: './poodinis/registration/initializeFactoryType.html', attributes: []},
{name: 'poodinis.registration.newInstance', kind: "functiondeclaration", path: './poodinis/registration/newInstance.html', attributes: []},
{name: 'poodinis.registration.singleInstance', kind: "functiondeclaration", path: './poodinis/registration/singleInstance.html', attributes: []},
{name: 'poodinis.valueinjection', kind: "module", path: './poodinis/valueinjection.html', attributes: []},
{name: 'poodinis.valueinjection.MandatoryValue', kind: "structdeclaration", path: './poodinis/valueinjection/MandatoryValue.html', attributes: []},
{name: 'poodinis.valueinjection.MandatoryValue.key', kind: "variabledeclaration", path: './poodinis/valueinjection/MandatoryValue.key.html', attributes: []},
{name: 'poodinis.valueinjection.Value', kind: "structdeclaration", path: './poodinis/valueinjection/Value.html', attributes: []},
{name: 'poodinis.valueinjection.Value.key', kind: "variabledeclaration", path: './poodinis/valueinjection/Value.key.html', attributes: []},
{name: 'poodinis.valueinjection.ValueInjectionException', kind: "classdeclaration", path: './poodinis/valueinjection/ValueInjectionException.html', attributes: []},
{name: 'poodinis.valueinjection.ValueInjector', kind: "interfacedeclaration", path: './poodinis/valueinjection/ValueInjector.html', attributes: []},
{name: 'poodinis.valueinjection.ValueInjector.get', kind: "functiondeclaration", path: './poodinis/valueinjection/ValueInjector.get.html', attributes: []},
{name: 'poodinis.valueinjection.ValueNotAvailableException', kind: "classdeclaration", path: './poodinis/valueinjection/ValueNotAvailableException.html', attributes: []},
{name: 'poodinis', kind: "module", path: './poodinis.html', attributes: []},
];