EventBase.as 12.6 KB
/**
 * Generated by Gas3 v2.1.0 (Granite Data Services).
 *
 * WARNING: DO NOT CHANGE THIS FILE. IT MAY BE OVERWRITTEN EACH TIME YOU USE
 * THE GENERATOR. INSTEAD, EDIT THE INHERITED CLASS (Event.as).
 */

package fi.insomnia.bortal.model {

    import flash.events.EventDispatcher;
    import flash.utils.IDataInput;
    import flash.utils.IDataOutput;
    import flash.utils.IExternalizable;
    import flash.utils.getQualifiedClassName;
    import mx.collections.ListCollectionView;
    import mx.core.IUID;
    import mx.utils.UIDUtil;
    import org.granite.collections.IPersistentCollection;
    import org.granite.meta;
    import org.granite.tide.IEntity;
    import org.granite.tide.IEntityManager;
    import org.granite.tide.IPropertyHolder;

    use namespace meta;

    [Managed]
    public class EventBase implements IExternalizable, IUID {

        [Transient]
        meta var entityManager:IEntityManager = null;

        private var __initialized:Boolean = true;
        private var __detachedState:String = null;

        private var _bills:ListCollectionView;
        private var _cardTemplates:ListCollectionView;
        private var _compos:ListCollectionView;
        private var _defaultRole:Role;
        private var _endTime:Date;
        private var _eventMaps:ListCollectionView;
        private var _id:Number;
        private var _jpaVersionField:int;
        private var _logEntries:ListCollectionView;
        private var _name:String;
        private var _organiser:EventOrganiser;
        private var _readers:ListCollectionView;
        private var _referenceNumberBase:Number;
        private var _referer:String;
        private var _roles:ListCollectionView;
        private var _startTime:Date;
        private var _status:EventStatus;

        meta function isInitialized(name:String = null):Boolean {
            if (!name)
                return __initialized;

            var property:* = this[name];
            return (
                (!(property is Event) || (property as Event).meta::isInitialized()) &&
                (!(property is IPersistentCollection) || (property as IPersistentCollection).isInitialized())
            );
        }

        public function set bills(value:ListCollectionView):void {
            _bills = value;
        }
        public function get bills():ListCollectionView {
            return _bills;
        }

        public function set cardTemplates(value:ListCollectionView):void {
            _cardTemplates = value;
        }
        public function get cardTemplates():ListCollectionView {
            return _cardTemplates;
        }

        public function set compos(value:ListCollectionView):void {
            _compos = value;
        }
        public function get compos():ListCollectionView {
            return _compos;
        }

        public function set defaultRole(value:Role):void {
            _defaultRole = value;
        }
        public function get defaultRole():Role {
            return _defaultRole;
        }

        public function set endTime(value:Date):void {
            _endTime = value;
        }
        public function get endTime():Date {
            return _endTime;
        }

        public function set eventMaps(value:ListCollectionView):void {
            _eventMaps = value;
        }
        public function get eventMaps():ListCollectionView {
            return _eventMaps;
        }

        public function set id(value:Number):void {
            _id = value;
        }
        [Id]
        public function get id():Number {
            return _id;
        }

        public function set jpaVersionField(value:int):void {
            _jpaVersionField = value;
        }
        [Version]
        public function get jpaVersionField():int {
            return _jpaVersionField;
        }

        public function set logEntries(value:ListCollectionView):void {
            _logEntries = value;
        }
        public function get logEntries():ListCollectionView {
            return _logEntries;
        }

        public function set name(value:String):void {
            _name = value;
        }
        public function get name():String {
            return _name;
        }

        public function set organiser(value:EventOrganiser):void {
            _organiser = value;
        }
        public function get organiser():EventOrganiser {
            return _organiser;
        }

        public function set readers(value:ListCollectionView):void {
            _readers = value;
        }
        public function get readers():ListCollectionView {
            return _readers;
        }

        public function set referenceNumberBase(value:Number):void {
            _referenceNumberBase = value;
        }
        public function get referenceNumberBase():Number {
            return _referenceNumberBase;
        }

        public function set referer(value:String):void {
            _referer = value;
        }
        public function get referer():String {
            return _referer;
        }

        public function set roles(value:ListCollectionView):void {
            _roles = value;
        }
        public function get roles():ListCollectionView {
            return _roles;
        }

        public function set startTime(value:Date):void {
            _startTime = value;
        }
        public function get startTime():Date {
            return _startTime;
        }

        public function set status(value:EventStatus):void {
            _status = value;
        }
        public function get status():EventStatus {
            return _status;
        }

        public function set uid(value:String):void {
            // noop...
        }
        public function get uid():String {
            if (isNaN(_id))
                return UIDUtil.createUID();
            return getQualifiedClassName(this) + "#[" + String(_id) + "]";
        }

        meta function merge(em:IEntityManager, obj:*):void {
            var src:EventBase = EventBase(obj);
            __initialized = src.__initialized;
            __detachedState = src.__detachedState;
            if (meta::isInitialized()) {
               em.meta_mergeExternal(src._bills, _bills, null, this, 'bills', function setter(o:*):void{_bills = o as ListCollectionView}, false);
               em.meta_mergeExternal(src._cardTemplates, _cardTemplates, null, this, 'cardTemplates', function setter(o:*):void{_cardTemplates = o as ListCollectionView}, false);
               em.meta_mergeExternal(src._compos, _compos, null, this, 'compos', function setter(o:*):void{_compos = o as ListCollectionView}, false);
               em.meta_mergeExternal(src._defaultRole, _defaultRole, null, this, 'defaultRole', function setter(o:*):void{_defaultRole = o as Role}, false);
               em.meta_mergeExternal(src._endTime, _endTime, null, this, 'endTime', function setter(o:*):void{_endTime = o as Date}, false);
               em.meta_mergeExternal(src._eventMaps, _eventMaps, null, this, 'eventMaps', function setter(o:*):void{_eventMaps = o as ListCollectionView}, false);
               em.meta_mergeExternal(src._id, _id, null, this, 'id', function setter(o:*):void{_id = o as Number}, false);
               em.meta_mergeExternal(src._jpaVersionField, _jpaVersionField, null, this, 'jpaVersionField', function setter(o:*):void{_jpaVersionField = o as int}, false);
               em.meta_mergeExternal(src._logEntries, _logEntries, null, this, 'logEntries', function setter(o:*):void{_logEntries = o as ListCollectionView}, false);
               em.meta_mergeExternal(src._name, _name, null, this, 'name', function setter(o:*):void{_name = o as String}, false);
               em.meta_mergeExternal(src._organiser, _organiser, null, this, 'organiser', function setter(o:*):void{_organiser = o as EventOrganiser}, false);
               em.meta_mergeExternal(src._readers, _readers, null, this, 'readers', function setter(o:*):void{_readers = o as ListCollectionView}, false);
               em.meta_mergeExternal(src._referenceNumberBase, _referenceNumberBase, null, this, 'referenceNumberBase', function setter(o:*):void{_referenceNumberBase = o as Number}, false);
               em.meta_mergeExternal(src._referer, _referer, null, this, 'referer', function setter(o:*):void{_referer = o as String}, false);
               em.meta_mergeExternal(src._roles, _roles, null, this, 'roles', function setter(o:*):void{_roles = o as ListCollectionView}, false);
               em.meta_mergeExternal(src._startTime, _startTime, null, this, 'startTime', function setter(o:*):void{_startTime = o as Date}, false);
               em.meta_mergeExternal(src._status, _status, null, this, 'status', function setter(o:*):void{_status = o as EventStatus}, false);
            }
            else {
               em.meta_mergeExternal(src._id, _id, null, this, 'id', function setter(o:*):void{_id = o as Number});
            }
        }

        public function readExternal(input:IDataInput):void {
            __initialized = input.readObject() as Boolean;
            __detachedState = input.readObject() as String;
            if (meta::isInitialized()) {
                _bills = input.readObject() as ListCollectionView;
                _cardTemplates = input.readObject() as ListCollectionView;
                _compos = input.readObject() as ListCollectionView;
                _defaultRole = input.readObject() as Role;
                _endTime = input.readObject() as Date;
                _eventMaps = input.readObject() as ListCollectionView;
                _id = function(o:*):Number { return (o is Number ? o as Number : Number.NaN) } (input.readObject());
                _jpaVersionField = input.readObject() as int;
                _logEntries = input.readObject() as ListCollectionView;
                _name = input.readObject() as String;
                _organiser = input.readObject() as EventOrganiser;
                _readers = input.readObject() as ListCollectionView;
                _referenceNumberBase = function(o:*):Number { return (o is Number ? o as Number : Number.NaN) } (input.readObject());
                _referer = input.readObject() as String;
                _roles = input.readObject() as ListCollectionView;
                _startTime = input.readObject() as Date;
                _status = input.readObject() as EventStatus;
            }
            else {
                _id = function(o:*):Number { return (o is Number ? o as Number : Number.NaN) } (input.readObject());
            }
        }

        public function writeExternal(output:IDataOutput):void {
            output.writeObject(__initialized);
            output.writeObject(__detachedState);
            if (meta::isInitialized()) {
                output.writeObject((_bills is IPropertyHolder) ? IPropertyHolder(_bills).object : _bills);
                output.writeObject((_cardTemplates is IPropertyHolder) ? IPropertyHolder(_cardTemplates).object : _cardTemplates);
                output.writeObject((_compos is IPropertyHolder) ? IPropertyHolder(_compos).object : _compos);
                output.writeObject((_defaultRole is IPropertyHolder) ? IPropertyHolder(_defaultRole).object : _defaultRole);
                output.writeObject((_endTime is IPropertyHolder) ? IPropertyHolder(_endTime).object : _endTime);
                output.writeObject((_eventMaps is IPropertyHolder) ? IPropertyHolder(_eventMaps).object : _eventMaps);
                output.writeObject((_id is IPropertyHolder) ? IPropertyHolder(_id).object : _id);
                output.writeObject((_jpaVersionField is IPropertyHolder) ? IPropertyHolder(_jpaVersionField).object : _jpaVersionField);
                output.writeObject((_logEntries is IPropertyHolder) ? IPropertyHolder(_logEntries).object : _logEntries);
                output.writeObject((_name is IPropertyHolder) ? IPropertyHolder(_name).object : _name);
                output.writeObject((_organiser is IPropertyHolder) ? IPropertyHolder(_organiser).object : _organiser);
                output.writeObject((_readers is IPropertyHolder) ? IPropertyHolder(_readers).object : _readers);
                output.writeObject((_referenceNumberBase is IPropertyHolder) ? IPropertyHolder(_referenceNumberBase).object : _referenceNumberBase);
                output.writeObject((_referer is IPropertyHolder) ? IPropertyHolder(_referer).object : _referer);
                output.writeObject((_roles is IPropertyHolder) ? IPropertyHolder(_roles).object : _roles);
                output.writeObject((_startTime is IPropertyHolder) ? IPropertyHolder(_startTime).object : _startTime);
                output.writeObject((_status is IPropertyHolder) ? IPropertyHolder(_status).object : _status);
            }
            else {
                output.writeObject(_id);
            }
        }
    }
}