// persistance of objects
variables.com = structNew();
var obj = ''; //local var to hold object
if (arguments.singleton and singletonExists(arguments.objName)) {
return getSingleton(arguments.objName);
}
switch(arguments.objName) {
case "conference":
obj = createObject('component','conference').init();
if (arguments.singleton) { // scope singleton
addSingleton(arguments.objName, obj);
}
// inject dependencies through setter
obj.setSettings( get('galleonSettings', arguments.singleton) );
obj.setForum( get('forum', arguments.singleton) );
obj.setUtils( get('utils', arguments.singleton) );
return obj;
break;
case "forum":
obj = createObject('component','forum').init();
if (arguments.singleton) { // scope singleton
addSingleton(arguments.objName, obj);
}
// inject dependencies through setter
obj.setSettings( get('galleonSettings', arguments.singleton) );
obj.setThread( get('thread', arguments.singleton) );
obj.setUtils( get('utils', arguments.singleton) );
return obj;
break;
case "galleonSettings":
obj = createObject('component','galleon');
if (arguments.singleton) { // scope singleton
addSingleton(arguments.objName, obj);
}
return obj;
break;
case "message":
obj = createObject('component','message').init();
if (arguments.singleton) { // scope singleton
addSingleton(arguments.objName, obj);
}
// inject dependencies through setter
obj.setSettings( get('galleonSettings', arguments.singleton) );
obj.setThread( get('thread', arguments.singleton) );
obj.setForum( get('forum', arguments.singleton) );
obj.setConference( get('conference', arguments.singleton) );
obj.setUser( get('user', arguments.singleton) );
obj.setUtils( get('utils', arguments.singleton) );
return obj;
break;
case "rank":
obj = createObject('component','rank').init();
if (arguments.singleton) { // scope singleton
addSingleton(arguments.objName, obj);
}
// inject dependencies through setter
obj.setSettings( get('galleonSettings', arguments.singleton) );
obj.setUtils( get('utils', arguments.singleton) );
return obj;
break;
case "thread":
obj = createObject('component','thread').init();
if (arguments.singleton) { // scope singleton
addSingleton(arguments.objName, obj);
}
// inject dependencies through setter
obj.setSettings( get('galleonSettings', arguments.singleton) );
obj.setUtils( get('utils', arguments.singleton) );
obj.setMessage( get('message', arguments.singleton) );
return obj;
break;
case "user":
obj = createObject('component','user').init();
if (arguments.singleton) { // scope singleton
addSingleton(arguments.objName, obj);
}
// inject dependencies through setter
obj.setSettings( get('galleonSettings', arguments.singleton) );
obj.setUtils( get('utils', arguments.singleton) );
return obj;
break;
case "utils":
obj = createObject('component','utils');
if (arguments.singleton) { // scope singleton
addSingleton(arguments.objName, obj);
}
// inject dependencies through setter
return obj;
break;
}
if ( StructKeyExists(variables.com, arguments.objName) ){
structDelete(variables.com, arguments.objName);
}