# Source: application/Email.js

    (function(window)
    {
        var Gitana = window.Gitana;

        Gitana.Email = Gitana.AbstractApplicationObject.extend(
        /** @lends Gitana.Email.prototype */
        {
            /**
             * @constructs
             * @augments Gitana.AbstractApplicationObject
             *
             * @class Email
             *
             * @param {Gitana.Application} application
             * @param [Object] object json object (if no callback required for populating)
             */
            constructor: function(application, object)
            {
                this.base(application, object);

                this.objectType = function() { return "Gitana.Email"; };
            },

            /**
             * @override
             */
            clone: function()
            {
                return new Gitana.Email(this.getApplication(), this);
            },

            /**
             * @OVERRIDE
             */
            getType: function()
            {
                return Gitana.TypedIDConstants.TYPE_EMAIL;
            },

            /**
             * @OVERRIDE
             */
            getUri: function()
            {
                return "/applications/" + this.getApplicationId() + "/emails/" + this.getId();
            },

            /**
             * Sends this email using the given email provider.
             *
             * @param emailProvider
             *
             * @chained this
             *
             * @return this
             */
            send: function(emailProvider)
            {
                return this.then(function() {
                    this.subchain(emailProvider).send(this);
                });
            }

        });

    })(window);