From 5d20e2e29ab0f0e9222f855a15ea1689fcf5b08e Mon Sep 17 00:00:00 2001 From: hns Date: Tue, 11 Sep 2001 19:11:19 +0000 Subject: [PATCH] Create a new prototype in the request evaluator for use with generic Java objects. It has the href() and renderSkin() functions, but none of the other stuff defined for ordinary HopObjects. This new prototype isn't used yet in RequestEvaluator. --- src/helma/scripting/fesi/HopExtension.java | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/helma/scripting/fesi/HopExtension.java b/src/helma/scripting/fesi/HopExtension.java index 5ec35902..0c6383dc 100644 --- a/src/helma/scripting/fesi/HopExtension.java +++ b/src/helma/scripting/fesi/HopExtension.java @@ -44,7 +44,7 @@ public class HopExtension { ESObject op = evaluator.getObjectPrototype(); - ////////// The editor functions for String, Boolean and Number are deprecated! + // The editor functions for String, Boolean and Number are deprecated! ESObject sp = evaluator.getStringPrototype (); sp.putHiddenProperty ("editor", new StringEditor ("editor", evaluator, fp)); ESObject np = evaluator.getNumberPrototype (); @@ -55,11 +55,14 @@ public class HopExtension { ESObject dp = evaluator.getDatePrototype (); dp.putHiddenProperty ("format", new DatePrototypeFormat ("format", evaluator, fp)); - reval.esNodePrototype = new ObjectPrototype(op, evaluator); // the Node prototype - - reval.esUserPrototype = new ObjectPrototype (reval.esNodePrototype, evaluator); // the User prototype - - ESObject node = new NodeConstructor ("Node", fp, reval); // the Node constructor + // generic (Java wrapper) object prototype + reval.esObjectPrototype = new ObjectPrototype (op, evaluator); + // the Node prototype + reval.esNodePrototype = new ObjectPrototype(op, evaluator); + // the User prototype + reval.esUserPrototype = new ObjectPrototype (reval.esNodePrototype, evaluator); + // the Node constructor + ESObject node = new NodeConstructor ("Node", fp, reval); // register the default methods of Node objects in the Node prototype reval.esNodePrototype.putHiddenProperty ("add", new NodeAdd ("add", evaluator, fp)); @@ -82,6 +85,11 @@ public class HopExtension { reval.esNodePrototype.putHiddenProperty("renderSkin", new RenderSkin ("renderSkin", evaluator, fp, false, false)); reval.esNodePrototype.putHiddenProperty("renderSkinAsString", new RenderSkin ("renderSkinAsString", evaluator, fp, false, true)); + // default methods for generic Java wrapper object prototype + reval.esObjectPrototype.putHiddenProperty ("href", new NodeHref ("href", evaluator, fp)); + reval.esObjectPrototype.putHiddenProperty("renderSkin", new RenderSkin ("renderSkin", evaluator, fp, false, false)); + reval.esObjectPrototype.putHiddenProperty("renderSkinAsString", new RenderSkin ("renderSkinAsString", evaluator, fp, false, true)); + // methods that give access to properties and global user lists go.putHiddenProperty("Node", node); // register the constructor for a plain Node object. go.putHiddenProperty("HopObject", node); // HopObject is the new name for node.