Hey guys, I've recently stumbled across the PropertySetter tag and have found it to be the missing link in using proper setter/getter properties in Managers. My EventMap and Manager used to look like this:
<EventHandlers type="{PreferencesEvent.BREAK_LENGTH}" debug="false">
<MethodInvoker generator="{ApplicationManager}" method="setBreakLength" arguments="{event.value}" />
</EventHandlers>
...
private var _breakLength : int = 0;
[Bindable(event="breakLengthChanged")]
public function get breakLength () : int
{
return _breakLength;
}
public function setBreakLength (value : int) : void
{
breakLength = value;
}
But now they look like this:
<EventHandlers type="{PreferencesEvent.BREAK_LENGTH}" debug="false">
<PropertySetter generator="{ApplicationManager}" targetKey="breakLength" source="{event.value}" />
</EventHandlers>
...
/* PROPERTY: breakLength */
private var _breakLength : int = 0;
[Bindable(event="breakLengthChanged")]
public function get breakLength () : int
{
return _breakLength;
}
public function set breakLength (value : int) : void
{
_breakLength = value;
dispatchEvent(new Event('breakLengthChanged'));
}
The latter feels much nicer to me, using proper getter/setter properties in my Manager.
Is there any downside to this or reason I shouldn't be programming it this way?