VoteBase.as 3.62 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 (Vote.as).
 */

package fi.insomnia.bortal.model {

    import flash.utils.IDataInput;
    import flash.utils.IDataOutput;
    import flash.utils.IExternalizable;
    import org.granite.collections.IPersistentCollection;
    import org.granite.meta;

    use namespace meta;

    [Bindable]
    public class VoteBase implements IExternalizable, EventChildInterface {

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

        private var _compoEntry:CompoEntry;
        private var _id:EventPk;
        private var _jpaVersionField:int;
        private var _score:Number;
        private var _time:Date;
        private var _voter:User;

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

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

        public function set compoEntry(value:CompoEntry):void {
            _compoEntry = value;
        }
        public function get compoEntry():CompoEntry {
            return _compoEntry;
        }

        public function set id(value:EventPk):void {
            _id = value;
        }
        public function get id():EventPk {
            return _id;
        }

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

        public function set score(value:Number):void {
            _score = value;
        }
        public function get score():Number {
            return _score;
        }

        public function set time(value:Date):void {
            _time = value;
        }
        public function get time():Date {
            return _time;
        }

        public function set voter(value:User):void {
            _voter = value;
        }
        public function get voter():User {
            return _voter;
        }

        public function readExternal(input:IDataInput):void {
            __initialized = input.readObject() as Boolean;
            __detachedState = input.readObject() as String;
            if (meta::isInitialized()) {
                _compoEntry = input.readObject() as CompoEntry;
                _id = input.readObject() as EventPk;
                _jpaVersionField = input.readObject() as int;
                _score = function(o:*):Number { return (o is Number ? o as Number : Number.NaN) } (input.readObject());
                _time = input.readObject() as Date;
                _voter = input.readObject() as User;
            }
            else {
                _id = input.readObject() as EventPk;
            }
        }

        public function writeExternal(output:IDataOutput):void {
            output.writeObject(__initialized);
            output.writeObject(__detachedState);
            if (meta::isInitialized()) {
                output.writeObject(_compoEntry);
                output.writeObject(_id);
                output.writeObject(_jpaVersionField);
                output.writeObject(_score);
                output.writeObject(_time);
                output.writeObject(_voter);
            }
            else {
                output.writeObject(_id);
            }
        }
    }
}