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.
|
Object |
execute(org.alfresco.service.cmr.repository.NodeRef nodeRef,
org.alfresco.service.namespace.QName contentProp,
Map<String,Object> model)
Execute script
|
Object |
execute(ScriptLocation location,
Map<String,Object> model)
Execute script
|
Object |
execute(String location,
Map<String,Object> model)
Execute script
|
Object |
executeString(String source,
Map<String,Object> 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.
|
String |
loadScriptResource(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(String storePath) |
void |
setStoreUrl(String storeRef)
Set the default store reference
|
getExtension, getName, getProcessorExtensions, register, registerProcessorExtension, setExtension, setName, setScriptService, setServiceRegistry, setTemplateServicepublic void setStoreUrl(String storeRef)
storeRef - The default store referencepublic void setStorePath(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 Object execute(ScriptLocation location, Map<String,Object> model)
ScriptProcessorexecute in interface ScriptProcessorlocation - the location of the scriptmodel - context modelScriptProcessor.execute(org.alfresco.service.cmr.repository.ScriptLocation, java.util.Map)public Object execute(String location, Map<String,Object> model)
ScriptProcessorexecute in interface ScriptProcessorlocation - the classpath string locating the scriptmodel - the context modelScriptProcessor.execute(java.lang.String, java.util.Map)public Object execute(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName contentProp, Map<String,Object> 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 Object executeString(String source, Map<String,Object> model)
ScriptProcessorexecuteString in interface ScriptProcessorsource - the script stringmodel - the context modelScriptProcessor.executeString(java.lang.String, java.util.Map)public String loadScriptResource(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 Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanExceptionInitializingBean.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–2018 Alfresco Software. All rights reserved.