Custom Providers
property name="" inject="provider:{name or injectionDSL}";map("MyCFC").toProvider('name or injectionDSL')
// or
setter,property,methodArg,initArg(name="",dsl="provider:{name or injectionDSL}");<cfinterface hint="The WireBox Provider Interface that follows the provider pattern">
<--- get --->
<cffunction name="get" output="false" access="public" returntype="any" hint="Get the provided object">
</cffunction>
</cfinterface>component name="FunkyEspressoProvider" implements="coldbox.system.ioc.IProvider" singleton{
property name="log" inject="logbox:logger:FunkyEspressoProvider";
public function init(){ return this; }
Espresso public function get(){
// log
log.canDebug(){ log.debug("Requested funky espresso"); }
var espresso = createObject("component","old.legacy.Espresso").init();
// add some sugar as the old legacy machine is not that great.
espresso.addSugar(1);
// returned provided object.
return espresso;
}
}Was this helpful?