You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2008/01/16 10:52:53 UTC

svn commit: r612401 - in /incubator/sling/trunk/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper: ScriptableNode.java ScriptableResource.java

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;
     }
 
 }