public class RhinoScriptProcessor extends BaseProcessor implements ScriptProcessor, org.alfresco.scripts.ScriptResourceLoader, org.springframework.beans.factory.InitializingBean
extension, name, processorExtensions, scriptService, services, templateService| Constructor and Description |
|---|
RhinoScriptProcessor() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet()
Pre initializes two scope objects (one secure and one not) with the standard objects preinitialised.
|
java.lang.Object |
execute(org.alfresco.service.cmr.repository.NodeRef nodeRef,
org.alfresco.service.namespace.QName contentProp,
java.util.Map model)
Execute script
|
java.lang.Object |
execute(ScriptLocation location,
java.util.Map model)
Execute script
|
java.lang.Object |
execute(java.lang.String location,
java.util.Map model)
Execute script
|
java.lang.Object |
executeString(java.lang.String source,
java.util.Map model)
Execute script string
|
protected org.mozilla.javascript.Scriptable |
initScope(org.mozilla.javascript.Context cx,
boolean secure,
boolean sealed)
Initializes a scope for script execution.
|
java.lang.String |
loadScriptResource(java.lang.String resource)
Load a script content from the specific resource path.
|
void |
reset()
Reset the processor - such as clearing any internal caches etc.
|
void |
setCompile(boolean compile) |
void |
setShareSealedScopes(boolean shareSealedScopes) |
void |
setStorePath(java.lang.String storePath) |
void |
setStoreUrl(java.lang.String storeRef)
Set the default store reference
|
getExtension, getName, getProcessorExtensions, register, registerProcessorExtension, setExtension, setName, setScriptService, setServiceRegistry, setTemplateServicepublic void setStoreUrl(java.lang.String storeRef)
storeRef - The default store referencepublic void setStorePath(java.lang.String storePath)
storePath - The store path to set.public void setCompile(boolean compile)
compile - the compile flag to setpublic void setShareSealedScopes(boolean shareSealedScopes)
shareSealedScopes - true to allow sharing of sealed scopes between script executions - set to
false to disable this feature and ensure that a new scope is created for each executed script.public void reset()
ScriptProcessorreset in interface ScriptProcessorScriptProcessor.reset()public java.lang.Object execute(ScriptLocation location, java.util.Map model)
ScriptProcessorexecute in interface ScriptProcessorlocation - the location of the scriptmodel - context modelScriptProcessor.execute(org.alfresco.service.cmr.repository.ScriptLocation, java.util.Map)public java.lang.Object execute(java.lang.String location,
java.util.Map model)
ScriptProcessorexecute in interface ScriptProcessorlocation - the classpath string locating the scriptmodel - the context modelScriptProcessor.execute(java.lang.String, java.util.Map)public java.lang.Object execute(org.alfresco.service.cmr.repository.NodeRef nodeRef,
org.alfresco.service.namespace.QName contentProp,
java.util.Map model)
ScriptProcessorexecute in interface ScriptProcessornodeRef - the script node referencecontentProp - the content property of the scriptmodel - the context modelScriptProcessor.execute(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.namespace.QName, java.util.Map)public java.lang.Object executeString(java.lang.String source,
java.util.Map model)
ScriptProcessorexecuteString in interface ScriptProcessorsource - the script stringmodel - the context modelScriptProcessor.executeString(java.lang.String, java.util.Map)public java.lang.String loadScriptResource(java.lang.String resource)
loadScriptResource in interface org.alfresco.scripts.ScriptResourceLoaderresource - Resources can be of the form:
classpath:alfresco/includeme.js workspace://SpacesStore/6f73de1b-d3b4-11db-80cb-112e6c2ea048 /Company Home/Data Dictionary/Scripts/includeme.js
org.alfresco.error.AlfrescoRuntimeException - on any IO or ContentIO errorpublic void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanjava.lang.ExceptionInitializingBean.afterPropertiesSet()protected org.mozilla.javascript.Scriptable initScope(org.mozilla.javascript.Context cx,
boolean secure,
boolean sealed)
cx - the thread execution contextsecure - Do we consider the script secure? When false this ensures the script may not
access insecure java.* libraries or import any other classes for direct access - only the
configured root host objects will be available to the script writer.sealed - Should the scope be sealed, making it immutable? This should be true if a scope
is to be reused.Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.