Class StreamContent
- java.lang.Object
-
- org.springframework.extensions.webscripts.AbstractWebScript
-
- org.alfresco.repo.web.scripts.content.StreamContent
-
- All Implemented Interfaces:
org.springframework.extensions.webscripts.WebScript
- Direct Known Subclasses:
ContentGet
,ContentInfo
,NodeContentGet
,StreamACP
,StreamJMXDump
,WorkflowInstanceDiagramGet
public class StreamContent extends org.springframework.extensions.webscripts.AbstractWebScript
Web script 'type' that can be used when the binary data of a content property needs to be streamed back to the client as the result of executing the web script. Many of these methods have been moved into the ContentStreamer class so they can be reused by other webscripts.- Author:
- Roy Wetherall
-
-
Field Summary
Fields Modifier and Type Field Description protected ContentStreamer
delegate
protected org.alfresco.service.cmr.repository.MimetypeService
mimetypeService
protected org.alfresco.service.cmr.repository.NodeService
nodeService
protected org.alfresco.service.cmr.security.PermissionService
permissionService
Servicesprotected org.alfresco.repo.model.Repository
repository
-
Constructor Summary
Constructors Constructor Description StreamContent()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected org.alfresco.repo.web.scripts.content.StreamContent.ObjectReference
createObjectReferenceFromUrl(Map<String,String> args, Map<String,String> templateArgs)
void
execute(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res)
protected Map<String,Object>
executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status)
Deprecated.protected Map<String,Object>
executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache)
Execute custom Java logicprotected Map<String,Object>
executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptStatus status)
Deprecated.protected void
renderFormatTemplate(String format, Map<String,Object> model, Writer writer)
Render a template (of given format) to the Web Script Responseprotected void
setAttachment(org.springframework.extensions.webscripts.WebScriptResponse res, boolean attach, String attachFileName)
Set attachment headervoid
setDelegate(ContentStreamer delegate)
void
setMimetypeService(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
void
setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
void
setPermissionService(org.alfresco.service.cmr.security.PermissionService permissionService)
void
setRepository(org.alfresco.repo.model.Repository repository)
protected void
streamContent(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res, File file)
Streams content back to client from a given File.protected void
streamContent(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res, File file, boolean attach, String attachFileName, Map<String,Object> model)
Streams content back to client from a given File.protected void
streamContent(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res, org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName propertyQName, boolean attach, String attachFileName, Map<String,Object> model)
Streams the content on a given node's content property to the response of the web script.protected void
streamContentImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res, org.alfresco.service.cmr.repository.ContentReader reader, org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName propertyQName, boolean attach, Date modified, String eTag, String attachFileName, Map<String,Object> model)
Stream content implementation-
Methods inherited from class org.springframework.extensions.webscripts.AbstractWebScript
addModuleBundleToCache, checkModuleBundleCache, createArgs, createArgsM, createHeaders, createHeadersM, createScriptParameters, createStatusException, createTemplateParameters, executeScript, getContainer, getDescription, getExecuteScript, getResources, getStatusTemplate, init, renderString, renderString, renderTemplate, sendStatus, setURLModelFactory, toString
-
-
-
-
Field Detail
-
permissionService
protected org.alfresco.service.cmr.security.PermissionService permissionService
Services
-
nodeService
protected org.alfresco.service.cmr.repository.NodeService nodeService
-
mimetypeService
protected org.alfresco.service.cmr.repository.MimetypeService mimetypeService
-
delegate
protected ContentStreamer delegate
-
repository
protected org.alfresco.repo.model.Repository repository
-
-
Method Detail
-
setMimetypeService
public void setMimetypeService(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
- Parameters:
mimetypeService
- MimetypeService
-
setPermissionService
public void setPermissionService(org.alfresco.service.cmr.security.PermissionService permissionService)
- Parameters:
permissionService
- PermissionService
-
setNodeService
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
- Parameters:
nodeService
- NodeService
-
setDelegate
public void setDelegate(ContentStreamer delegate)
- Parameters:
delegate
- ContentStreamer
-
setRepository
public void setRepository(org.alfresco.repo.model.Repository repository)
- Parameters:
repository
- Repository
-
execute
public void execute(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res) throws IOException
- Throws:
IOException
- See Also:
WebScript.execute(org.springframework.extensions.webscripts.WebScriptRequest, org.springframework.extensions.webscripts.WebScriptResponse)
-
setAttachment
protected void setAttachment(org.springframework.extensions.webscripts.WebScriptResponse res, boolean attach, String attachFileName)
Set attachment header- Parameters:
res
- WebScriptResponseattach
- booleanattachFileName
- String
-
streamContent
protected void streamContent(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res, File file) throws IOException
Streams content back to client from a given File. The Last-Modified header will reflect the given file's modification timestamp.- Parameters:
req
- The requestres
- The responsefile
- The file whose content is to be streamed.- Throws:
IOException
-
streamContent
protected void streamContent(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res, File file, boolean attach, String attachFileName, Map<String,Object> model) throws IOException
Streams content back to client from a given File. The Last-Modified header will reflect the given file's modification timestamp.- Parameters:
req
- The requestres
- The responsefile
- The file whose content is to be streamed.attach
- Indicates whether the content should be streamed as an attachment or notattachFileName
- Optional file name to use when attach istrue
- Throws:
IOException
-
streamContent
protected void streamContent(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res, org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName propertyQName, boolean attach, String attachFileName, Map<String,Object> model) throws IOException
Streams the content on a given node's content property to the response of the web script.- Parameters:
req
- Requestres
- ResponsenodeRef
- The node referencepropertyQName
- The content property nameattach
- Indicates whether the content should be streamed as an attachment or notattachFileName
- Optional file name to use when attach istrue
- Throws:
IOException
-
streamContentImpl
protected void streamContentImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res, org.alfresco.service.cmr.repository.ContentReader reader, org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName propertyQName, boolean attach, Date modified, String eTag, String attachFileName, Map<String,Object> model) throws IOException
Stream content implementation- Parameters:
req
- The requestres
- The responsereader
- The readernodeRef
- The content nodeRef if applicablepropertyQName
- The content property if applicableattach
- Indicates whether the content should be streamed as an attachment or notmodified
- Modified date of contenteTag
- ETag to useattachFileName
- Optional file name to use when attach istrue
- Throws:
IOException
-
executeImpl
protected Map<String,Object> executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptStatus status)
Deprecated.Execute custom Java logic- Parameters:
req
- Web Script requeststatus
- Web Script status- Returns:
- custom service model
-
executeImpl
protected Map<String,Object> executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status)
Deprecated.Execute custom Java logic- Parameters:
req
- Web Script requeststatus
- Web Script status- Returns:
- custom service model
-
executeImpl
protected Map<String,Object> executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache)
Execute custom Java logic- Parameters:
req
- Web Script requeststatus
- Web Script statuscache
- Web Script cache- Returns:
- custom service model
-
renderFormatTemplate
protected final void renderFormatTemplate(String format, Map<String,Object> model, Writer writer)
Render a template (of given format) to the Web Script Response- Parameters:
format
- template format (null, default format)model
- data model to renderwriter
- where to output
-
-