r9491 - helma-ng/trunk/modules/helma/webapp

[email protected]
Newsgroups gmane.comp.java.helma.cvs
Message-ID <[email protected]>
Author: hannes
Date: 2009-01-28 11:26:24 +0100 (Wed, 28 Jan 2009)
New Revision: 9491

Modified:
   helma-ng/trunk/modules/helma/webapp/response.js
Log:
Use Object.defineProperty() to define Response methods.

Details at http://dev.helma.org/trac/helma/changeset/9491

Modified: helma-ng/trunk/modules/helma/webapp/response.js
===================================================================
--- helma-ng/trunk/modules/helma/webapp/response.js	2009-01-28 10:26:22 UTC (rev 9490)
+++ helma-ng/trunk/modules/helma/webapp/response.js	2009-01-28 10:26:24 UTC (rev 9491)
@@ -1,9 +1,9 @@
 include('helma.buffer');
 import('helma.system', 'system');
 
-system.addHostObject(org.helma.web.Response);
+if (!global.Response) {
 
-(function() {
+    system.addHostObject(org.helma.web.Response);
 
     /**
      * Render a skin to the response's buffer
@@ -11,39 +11,45 @@
      * @param context
      * @param scope
      */
-    this.render = function render(skin, context, scope) {
-        var render = require('helma.skin').render;
-        this.write(render(skin, context, scope));
-    }
+    Object.defineProperty(Response.prototype, 'render', {
+        value: function render(skin, context, scope) {
+            var render = require('helma.skin').render;
+            this.write(render(skin, context, scope));
+        }
+    });
 
     /**
      * Print a debug message to the rendered page.
      */
-    this.debug = function debug() {
-        var buffer = this.debugBuffer || new Buffer();
-        buffer.write("<div class=\"helma-debug-line\" style=\"background: yellow;");
-        buffer.write("color: black; border-top: 1px solid black;\">");
-        var length = arguments.length;
-        for (var i = 0; i < length; i++) {
-            buffer.write(arguments[i]);
-            if (i < length - 1) {
-                buffer.write(" ");
+    Object.defineProperty(Response.prototype, 'debug', {
+        value: function debug() {
+            var buffer = this.debugBuffer || new Buffer();
+            buffer.write("<div class=\"helma-debug-line\" style=\"background: yellow;");
+            buffer.write("color: black; border-top: 1px solid black;\">");
+            var length = arguments.length;
+            for (var i = 0; i < length; i++) {
+                buffer.write(arguments[i]);
+                if (i < length - 1) {
+                    buffer.write(" ");
+                }
             }
+            buffer.writeln("</div>");
+            this.debugBuffer = buffer;
+            return null;
         }
-        buffer.writeln("</div>");
-        this.debugBuffer = buffer;
-        return null;
-    };
+    });
 
     /**
      * Write the debug buffer to the response's main buffer.
      */
-    this.flushDebug = function() {
-        if (this.debugBuffer != null) {
-            this.write(this.debugBuffer);
-            this.debugBuffer.reset();
+    Object.defineProperty(Response.prototype, 'flushDebug', {
+        value: function() {
+            if (this.debugBuffer != null) {
+                this.write(this.debugBuffer);
+                this.debugBuffer.reset();
+            }
+            return null;
         }
-        return null;
-    };
+    });
 
-}).apply(Response.prototype);
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.