On Dec 4, 2:20 pm, "Matt Quackenbush" <[EMAIL PROTECTED]> wrote: > On Thu, Dec 4, 2008 at 1:19 PM, Matt Graf wrote: > > > I don't think I am explaining myself very well lets see if I can > > explain it a little better > > > Here is an example of where I tell transfer to use my decorator > > <object name="widget_one" table="widget_one" > > decorator="model.decorators.widget_one"> > > > now what I want is for transfer to use my base decorator without > > telling transfer to do so. > > > is that possible? > > No.
I'm going to have to cry foul on this. It *is* possible, but it requires some creativity. 1. Create your special decorator object. 2. Create a single instance of this object and add it as a listener for the AfterNewTransferEvent. 3. Implement the actionAfterNewTransferEvent() method such that it mixes the two components together and does setup. AutoDecorator.cfc: <!---+ Mix the two components together. Only mixes the public stuff, so if you need private methods or variables you'll need to inject another method and use that. ---> <cffunction name="actionAfterNewTransferEvent" access="public" returntype="void" output="false"> <cfargument name="event" type="transfer.com.events.TransferEvent" required="true"> <cfset var object = arguments.event.getTransferObject()> <cfset object.mixin = mixin> <cfset object.mixin(variables)> <!--- Maybe call some special method like setup() here to allow the special decorator to do setup ---> </cffunction> <cffunction name="mixin" access="public" returntype="void" output="false"> <cfargument name="componentVariables" type="any" required="true"> <cfset structAppend(this,componentVariables.this,false)> <cfset structAppend(variables,componentVariables,false)> </cffunction> In general I'm a big advocate of very dynamic solutions, but this seems rather extreme with a high cost in terms of maintainability later. So, while this does work, I'd argue that it'd be better to just use decorator="BaseDecorator" on every <object/> in your transfer.xml instead of this much black magic. --~--~---------~--~----~------------~-------~--~----~ Before posting questions to the group please read: http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer You received this message because you are subscribed to the Google Groups "transfer-dev" group. To post to this group, send email to transfer-dev@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/transfer-dev?hl=en -~----------~----~----~----~------~----~------~--~---