From 0a030f932a980624d868460f9bb9b52ec6fb7e3a Mon Sep 17 00:00:00 2001 From: hns Date: Wed, 19 May 2004 13:55:51 +0000 Subject: [PATCH] Use lazy loading constructors where possible for extension constructors --- src/helma/scripting/rhino/RhinoCore.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/helma/scripting/rhino/RhinoCore.java b/src/helma/scripting/rhino/RhinoCore.java index 37392031..8f2ef863 100644 --- a/src/helma/scripting/rhino/RhinoCore.java +++ b/src/helma/scripting/rhino/RhinoCore.java @@ -99,10 +99,16 @@ public final class RhinoCore { pathProto = new PathWrapper(this); hopObjectProto = HopObject.init(global); - FileObject.init(global); - FtpObject.init(global); - ImageObject.init(global); - XmlRpcObject.init(global); + // use lazy loaded constructors for all extension objects that + // adhere to the ScriptableObject.defineClass() protocol + new LazilyLoadedCtor(global, "File", + "helma.scripting.rhino.extensions.FileObject", false); + new LazilyLoadedCtor(global, "Ftp", + "helma.scripting.rhino.extensions.FtpObject", false); + new LazilyLoadedCtor(global, "Image", + "helma.scripting.rhino.extensions.ImageObject", false); + new LazilyLoadedCtor(global, "Remote", + "helma.scripting.rhino.extensions.XmlRpcObject", false); MailObject.init(global, app.getProperties()); // add some convenience functions to string, date and number prototypes