org.apache.sling.scripting.javascript.wrapper
Class ScriptableResource

java.lang.Object
  extended by org.mozilla.javascript.ScriptableObject
      extended by org.apache.sling.scripting.javascript.wrapper.ScriptableResource
All Implemented Interfaces:
Serializable, SlingWrapper, org.mozilla.javascript.ConstProperties, org.mozilla.javascript.debug.DebuggableObject, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Wrapper

public class ScriptableResource
extends org.mozilla.javascript.ScriptableObject
implements SlingWrapper

Resource in JavaScript has following signature: [Object] getData(); [Object] data [Item] getItem(); [Item] item [String] getResourceType(); [String] type [String] getPath(); [String] path

See Also:
Serialized Form

Field Summary
static String CLASSNAME
           
static Class<?>[] WRAPPED_CLASSES
           
 
Fields inherited from class org.mozilla.javascript.ScriptableObject
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
 
Fields inherited from interface org.mozilla.javascript.Scriptable
NOT_FOUND
 
Constructor Summary
ScriptableResource()
           
ScriptableResource(Resource resource)
           
 
Method Summary
 String getClassName()
          The name of the JavaScript host object "class"
 Object getDefaultValue(Class typeHint)
           
 Class<?>[] getWrappedClasses()
          The list of Java classes wrapped by this wrapper
 void jsConstructor(Object res)
           
static Object jsFunction_adaptTo(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
          Implements the adaptTo() method for JavaScript scripts.
 Object jsFunction_getMetadata()
          Deprecated. since 2.1.0 because the method is named incorrectly.
 Object jsFunction_getObject()
          Helper method to easily retrieve the default adapted object of the resource.
 String jsFunction_getPath()
          Mapps getPath() method as getPath() method.
 Object jsFunction_getResourceMetadata()
          Maps getResourceMetadata() to getResourceMetadata method.
 Object jsFunction_getResourceResolver()
          Maps getResourceResolver() to resourceResolver property.
 String jsFunction_getResourceSuperType()
          Maps getResourceSuperType() to the getResourceSuperType() method.
 String jsFunction_getResourceType()
          Maps getResourceType() to the getResourceType() method.
 Object jsGet_meta()
          Deprecated. since 2.1.0 because it maps the method name incorrectly.
 String jsGet_path()
          Mapps getPath() method as path property.
 Object jsGet_resourceMetadata()
          Maps getResourceMetadata() to resourceMetadata property.
 Object jsGet_resourceResolver()
          Maps getResourceResolver() to getResourceResolver method.
 String jsGet_resourceSuperType()
          Maps getResourceSuperType() to resourceSuperType property.
 String jsGet_resourceType()
          Maps getResourceType() to resourceType property.
 String jsGet_type()
          Deprecated. since 2.1.0 because it maps the method name incorrectly.
 void setResource(Resource entry)
           
 Object unwrap()
           
 
Methods inherited from class org.mozilla.javascript.ScriptableObject
associateValue, callMethod, callMethod, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, deleteProperty, deleteProperty, equivalentValues, get, get, getAllIds, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, has, has, hasInstance, hasProperty, hasProperty, isConst, isSealed, put, put, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASSNAME

public static final String CLASSNAME
See Also:
Constant Field Values

WRAPPED_CLASSES

public static final Class<?>[] WRAPPED_CLASSES
Constructor Detail

ScriptableResource

public ScriptableResource()

ScriptableResource

public ScriptableResource(Resource resource)
Method Detail

jsConstructor

public void jsConstructor(Object res)

jsGet_path

public String jsGet_path()
Mapps getPath() method as path property.


jsFunction_getPath

public String jsFunction_getPath()
Mapps getPath() method as getPath() method.


jsGet_type

@Deprecated
public String jsGet_type()
Deprecated. since 2.1.0 because it maps the method name incorrectly.

Maps getResourceType() to type property. This property is deprecated since it does not correctly map the getResourceType() method name to a property.


jsGet_resourceType

public String jsGet_resourceType()
Maps getResourceType() to resourceType property.


jsFunction_getResourceType

public String jsFunction_getResourceType()
Maps getResourceType() to the getResourceType() method.


jsGet_resourceSuperType

public String jsGet_resourceSuperType()
Maps getResourceSuperType() to resourceSuperType property.


jsFunction_getResourceSuperType

public String jsFunction_getResourceSuperType()
Maps getResourceSuperType() to the getResourceSuperType() method.


jsGet_meta

@Deprecated
public Object jsGet_meta()
Deprecated. since 2.1.0 because it maps the method name incorrectly.

Maps getResourceMetadata() to meta property. This property is deprecated since it does not correctly map the getResourceType() method name to a property.


jsGet_resourceMetadata

public Object jsGet_resourceMetadata()
Maps getResourceMetadata() to resourceMetadata property.


jsFunction_getMetadata

@Deprecated
public Object jsFunction_getMetadata()
Deprecated. since 2.1.0 because the method is named incorrectly.

Maps getResourceMetadata() to getMetadata() method. This method is deprecated since it has the wrong name to support the getResourceMetadata() method.


jsFunction_getResourceMetadata

public Object jsFunction_getResourceMetadata()
Maps getResourceMetadata() to getResourceMetadata method.


jsFunction_getResourceResolver

public Object jsFunction_getResourceResolver()
Maps getResourceResolver() to resourceResolver property.


jsGet_resourceResolver

public Object jsGet_resourceResolver()
Maps getResourceResolver() to getResourceResolver method.


jsFunction_getObject

public Object jsFunction_getObject()
Helper method to easily retrieve the default adapted object of the resource. In case of Object Content Mapping support, this method will return the correctly mapped content object for this resource.

Calling this method is equivalent to calling the adaptTo method with the argument "java.lang.Object".


jsFunction_adaptTo

public static Object jsFunction_adaptTo(org.mozilla.javascript.Context cx,
                                        org.mozilla.javascript.Scriptable thisObj,
                                        Object[] args,
                                        org.mozilla.javascript.Function funObj)
Implements the adaptTo() method for JavaScript scripts. This method takes either a java.lang.Class object or a String containing the fully qualified name of the class to adapt to.

Supporting String as an argument to this method allows for much easier use in JavaScript since instead of for example writing "javax.jcr.Node" instead of the much clumsier Packages.javax.jcr.Node.

Parameters:
cx - The current Rhino context
thisObj - The ScriptableResource object in which the method is called.
args - The argument vector. Only the first argument is used which is expected to be a Class object or a String. If no argument is supplied or it has the wrong type, this method just returns null.
funObj - The object representing the JavaScript adaptTo function.
Returns:
The object to which the resource adapts or null if the resource does not adapt to the required type or if the argument is of the wrong type or missing.

getClassName

public String getClassName()
Description copied from interface: SlingWrapper
The name of the JavaScript host object "class"

Specified by:
getClassName in interface SlingWrapper
Specified by:
getClassName in interface org.mozilla.javascript.Scriptable
Specified by:
getClassName in class org.mozilla.javascript.ScriptableObject

getDefaultValue

public Object getDefaultValue(Class typeHint)
Specified by:
getDefaultValue in interface org.mozilla.javascript.Scriptable
Overrides:
getDefaultValue in class org.mozilla.javascript.ScriptableObject

setResource

public void setResource(Resource entry)

getWrappedClasses

public Class<?>[] getWrappedClasses()
Description copied from interface: SlingWrapper
The list of Java classes wrapped by this wrapper

Specified by:
getWrappedClasses in interface SlingWrapper

unwrap

public Object unwrap()
Specified by:
unwrap in interface org.mozilla.javascript.Wrapper


Copyright © 2007-2011 The Apache Software Foundation. All Rights Reserved.