//bean cache this.beans = structNew(); this.transients = structNew(); //functionality if (structKeyExists(arguments, "externalBeanFactory")) { this.externalBeanFactory = arguments.externalBeanFactory; } return this; // Proxy to beanExists to provide similar interface to ColdSpring function containsBean(beanName){ return beanExists(arguments.beanName); } function transientExists(beanName){ return structKeyExists(this.transients, arguments.beanName); } function getBean(beanName){ var b = 0; var meta = 0; if (beanExists(arguments.beanName, false, false)){ return this.beans[arguments.beanName]; }else if (transientExists(arguments.beanName)){ b = createObject('component', this.transients[arguments.beanName]); meta = getMetadata(b); _recurse_ResolveDependencies(b, meta); return b; }else if (externalBeanExists(arguments.beanName)){ return this.externalBeanFactory.getBean(arguments.beanName); }else{ throwError(message="Bean name '#arguments.beanName#' not found.", type="Taffy.Factory.BeanNotFound"); } } function getBeanList(){ var combined = structKeyList(this.beans); var trans = structKeyList(this.transients); if (len(combined) and len(trans)){ combined = combined & ","; } combined = combined & trans; return combined; } return structKeyExists(this.beans, arguments.beanName) or (arguments.includeTransients and transientExists(arguments.beanName)) or (arguments.includeExternal and externalBeanExists(arguments.beanName)); return structKeyExists(this, "externalBeanFactory") and this.externalBeanFactory.containsBean(arguments.beanName);