public interface ScriptService
Provides an interface to services for executing a JavaScript engine script file against a Java object based scripting data-model.
The script file can either be in the repository (passed as NodeRef string) or on the classpath. Also a script String can be passed directly to the service via the executeScriptString() methods. Java objects are passed into the scripting engine and methods can be accessed directly from the script.
A script is executed within a single transaction, any modifications to nodes or properties that fail and cause a rollback which will rollback all repository modifications made by the script.
Modifier and Type | Method and Description |
---|---|
void |
buildCoreModel(Map<String,Object> inputMap)
Add core data-model to provided Map
|
Map<String,Object> |
buildDefaultModel(org.alfresco.service.cmr.repository.NodeRef person,
org.alfresco.service.cmr.repository.NodeRef companyHome,
org.alfresco.service.cmr.repository.NodeRef userHome,
org.alfresco.service.cmr.repository.NodeRef script,
org.alfresco.service.cmr.repository.NodeRef document,
org.alfresco.service.cmr.repository.NodeRef space)
Create the default data-model available to scripts as global scope level objects:
|
Object |
executeScript(org.alfresco.service.cmr.repository.NodeRef scriptRef,
org.alfresco.service.namespace.QName contentProp,
Map<String,Object> model)
Process a script against the supplied data model.
|
Object |
executeScript(ScriptLocation scriptLocation,
Map<String,Object> model)
Process a script against the supplied data model
Uses the most approparite script engine or the default if none found.
|
Object |
executeScript(String scriptClasspath,
Map<String,Object> model)
Process a script against the supplied data model.
|
Object |
executeScript(String engine,
org.alfresco.service.cmr.repository.NodeRef scriptRef,
org.alfresco.service.namespace.QName contentProp,
Map<String,Object> model)
Process a script against the supplied data model.
|
Object |
executeScript(String engine,
ScriptLocation scriptLocation,
Map<String,Object> model)
Process a script against the supplied data model.
|
Object |
executeScript(String engine,
String scriptClasspath,
Map<String,Object> model)
Process a script against the supplied data model.
|
Object |
executeScriptString(String script,
Map<String,Object> model)
Process a script against the supplied data model.
|
Object |
executeScriptString(String engine,
String script,
Map<String,Object> model)
Process a script against the supplied data model.
|
void |
registerScriptProcessor(ScriptProcessor scriptProcessor)
Registers a script processor with the script service
|
void |
resetScriptProcessors()
Reset all registered script processors
|
@Auditable(parameters={"scriptClasspath","model"}) Object executeScript(String scriptClasspath, Map<String,Object> model) throws org.alfresco.scripts.ScriptException
scriptClasspath
- Script location as qualified classpath namemodel
- Object model to process script againstorg.alfresco.scripts.ScriptException
@Auditable(parameters={"engine","scriptClasspath","model"}) Object executeScript(String engine, String scriptClasspath, Map<String,Object> model) throws org.alfresco.scripts.ScriptException
engine
- the script engine to usescriptClasspath
- Script location as qualified classpath namemodel
- Object model to process script againstorg.alfresco.scripts.ScriptException
@Auditable(parameters={"scriptRef","contentProp","model"}) Object executeScript(org.alfresco.service.cmr.repository.NodeRef scriptRef, org.alfresco.service.namespace.QName contentProp, Map<String,Object> model) throws org.alfresco.scripts.ScriptException
scriptRef
- Script NodeRef locationcontentProp
- QName of the property on the node that contains the content, null can
be passed to indicate the default property of 'cm:content'model
- Object model to process script againstorg.alfresco.scripts.ScriptException
@Auditable(parameters={"engine","scriptRef","contentProp","model"}) Object executeScript(String engine, org.alfresco.service.cmr.repository.NodeRef scriptRef, org.alfresco.service.namespace.QName contentProp, Map<String,Object> model) throws org.alfresco.scripts.ScriptException
engine
- the script engine to usescriptRef
- Script NodeRef locationcontentProp
- QName of the property on the node that contains the content, null can
be passed to indicate the default property of 'cm:content'model
- Object model to process script againstorg.alfresco.scripts.ScriptException
@Auditable(parameters={"scriptLocation","model"}) Object executeScript(ScriptLocation scriptLocation, Map<String,Object> model) throws org.alfresco.scripts.ScriptException
scriptLocation
- object representing the script locationmodel
- Object model to process script againstorg.alfresco.scripts.ScriptException
@Auditable(parameters={"engine","scriptLocation","model"}) Object executeScript(String engine, ScriptLocation scriptLocation, Map<String,Object> model) throws org.alfresco.scripts.ScriptException
engine
- the script engine to usescriptLocation
- object representing the script locationmodel
- Object model to process script againstorg.alfresco.scripts.ScriptException
@Auditable(parameters={"script","model"}) Object executeScriptString(String script, Map<String,Object> model) throws org.alfresco.scripts.ScriptException
script
- Script content as a String.model
- Object model to process script againstorg.alfresco.scripts.ScriptException
@Auditable(parameters={"engine","script","model"}) Object executeScriptString(String engine, String script, Map<String,Object> model) throws org.alfresco.scripts.ScriptException
engine
- the script engine to usescript
- Script content as a String.model
- Object model to process script againstorg.alfresco.scripts.ScriptException
@Auditable(parameters="scriptProcessor") void registerScriptProcessor(ScriptProcessor scriptProcessor)
scriptProcessor
- ScriptProcessor@Auditable void resetScriptProcessors()
@Auditable(parameters="inputMap") void buildCoreModel(Map<String,Object> inputMap)
inputMap
- initial Map of global scope scriptable Node objects@Auditable(parameters={"person","companyHome","userHome","script","document","document"}) Map<String,Object> buildDefaultModel(org.alfresco.service.cmr.repository.NodeRef person, org.alfresco.service.cmr.repository.NodeRef companyHome, org.alfresco.service.cmr.repository.NodeRef userHome, org.alfresco.service.cmr.repository.NodeRef script, org.alfresco.service.cmr.repository.NodeRef document, org.alfresco.service.cmr.repository.NodeRef space)
'companyhome' - the Company Home node
'userhome' - the current user home space node
'person' - the node representing the current user Person
'script' - the node representing the script itself (may not be available)
'document' - document context node (may not be available)
'space' - space context node (may not be available)
person
- The current user Person NodecompanyHome
- The CompanyHome refuserHome
- The User home space refscript
- Optional ref to the script itselfdocument
- Optional ref to a document Nodespace
- Optional ref to a space NodeCopyright © 2005–2017 Alfresco Software. All rights reserved.