Author: fmeschbe
Date: Wed Jan 16 01:52:45 2008
New Revision: 612401
URL: http://svn.apache.org/viewvc?rev=612401&view=rev
Log:
Make scriptable wrappers "Wrapper" objects to easily unwrap the wrapped objects.
Modified:
incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableNode.java
incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableResource.java
Modified:
incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableNode.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableNode.java?rev=612401&r1=612400&r2=612401&view=diff
==============================================================================
---
incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableNode.java
(original)
+++
incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableNode.java
Wed Jan 16 01:52:45 2008
@@ -34,11 +34,12 @@
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.ScriptableObject;
import org.mozilla.javascript.Undefined;
+import org.mozilla.javascript.Wrapper;
/**
* A wrapper for JCR nodes that exposes all properties and child nodes
* as properties of a Javascript object.
*/
-public class ScriptableNode extends ScriptableObject {
+public class ScriptableNode extends ScriptableObject implements Wrapper {
public static final String CLASSNAME = "Node";
@@ -165,4 +166,10 @@
}
}
+ //---------- Wrapper interface
--------------------------------------------
+
+ // returns the wrapped node
+ public Object unwrap() {
+ return node;
+ }
}
Modified:
incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableResource.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableResource.java?rev=612401&r1=612400&r2=612401&view=diff
==============================================================================
---
incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableResource.java
(original)
+++
incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableResource.java
Wed Jan 16 01:52:45 2008
@@ -22,13 +22,14 @@
import org.mozilla.javascript.Context;
import org.mozilla.javascript.ScriptableObject;
import org.mozilla.javascript.Undefined;
+import org.mozilla.javascript.Wrapper;
/**
* Resource in JavaScript has following signature: [Object] getData(); [Object]
* data [Item] getItem(); [Item] item [String] getResourceType(); [String] type
* [String] getPath(); [String] path
*/
-public class ScriptableResource extends ScriptableObject {
+public class ScriptableResource extends ScriptableObject implements Wrapper {
public static final String CLASSNAME = "Resource";
@@ -96,6 +97,13 @@
public void setResource(Resource entry) {
this.resource = entry;
+ }
+
+ // ---------- Wrapper interface
--------------------------------------------
+
+ // returns the wrapped resource
+ public Object unwrap() {
+ return resource;
}
}