Package de.xima.fc.workflow.model.nodes
Class MultiFile
- java.lang.Object
-
- de.xima.fc.workflow.model.nodes.MultiFile
-
- All Implemented Interfaces:
IMultiFileProviding,IReferencedFileList,Serializable
@NotEmptyIf(field="urls",dependants="resources",target=MultiFile.class,payload=urls.class) @NotEmptyIf(field="searchFilename",dependants="resources",target=MultiFile.class,payload=searchFilename.class) public final class MultiFile extends Object implements Serializable, IMultiFileProviding
Models a list of file resources that may come from multiple sources, such as client file, project files or external files referenced via an URL.Use of this class is optional. However, its use is strongly recommended for consistency. This model comes with a pre-defined XHTML UI page for configuring instances of this class. During execution, the
INodeExecutionParamsandIWorkflowExecutionContextcontain helper method to handle the options provided by this class. New options or features may be added to this class in the future. If you make use of this class, your action will gain access to these new features without any changes to your code.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceMultiFile.resourcesCustom label for thegetResources()property.static interfaceMultiFile.searchFilenameCustom label for thegetSearchFilename()property.static interfaceMultiFile.urlsCustom label for thegetUrls()property.
-
Constructor Summary
Constructors Constructor Description MultiFile()
-
Method Summary
-
-
-
Method Detail
-
getAttachmentFilter
public List<EAttachmentSource> getAttachmentFilter()
- Specified by:
getAttachmentFilterin interfaceIMultiFileProviding- Specified by:
getAttachmentFilterin interfaceIReferencedFileList- Returns:
- Attachment sources to which to restrict the search for attachments, if a resource item of type
EResourceItemType.EXTERNALexists.
-
getConnectionTimeout
public int getConnectionTimeout()
- Specified by:
getConnectionTimeoutin interfaceIMultiFileProviding- Specified by:
getConnectionTimeoutin interfaceIReferencedFileList- Returns:
- a connection time-out for an external resource retrieval
-
getReadTimeout
public int getReadTimeout()
- Specified by:
getReadTimeoutin interfaceIMultiFileProviding- Specified by:
getReadTimeoutin interfaceIReferencedFileList- Returns:
- a read time-out for an external resource retrieval
-
getResources
public List<ResourceItem> getResources()
- Specified by:
getResourcesin interfaceIMultiFileProviding- Specified by:
getResourcesin interfaceIReferencedFileList- Returns:
- All resource items pointing to the files.
-
getSearchFilename
public String getSearchFilename()
- Specified by:
getSearchFilenamein interfaceIMultiFileProviding- Specified by:
getSearchFilenamein interfaceIReferencedFileList- Returns:
- Pattern for searching for an attachment, if a resource item of type
EResourceItemType.ATTACHMENT_SEARCHexists.nullor empty when no such resource item exists.
-
getUrls
public List<String> getUrls()
- Specified by:
getUrlsin interfaceIMultiFileProviding- Specified by:
getUrlsin interfaceIReferencedFileList- Returns:
- All URLs from which to read data, if a resource item of type
EResourceItemType.EXTERNALexists.
-
isResourceItemTypeSelected
public boolean isResourceItemTypeSelected(EResourceItemType resourceItemType)
- Specified by:
isResourceItemTypeSelectedin interfaceIMultiFileProviding- Parameters:
resourceItemType- a String that can be converted into aEResourceItemType- Returns:
trueif there is at least one element with the specified resource item type in the list of resources. Otherwise returnsfalse
-
setAttachmentFilter
public void setAttachmentFilter(List<EAttachmentSource> attachmentFilter)
- Parameters:
attachmentFilter- restrictions of typeEAttachmentSourcefor the search filename term. Is only used ifResourceItem.getType()is anEResourceItemType.ATTACHMENT_SEARCHresource
-
setConnectionTimeout
public void setConnectionTimeout(int connectionTimeout)
- Parameters:
connectionTimeout- in seconds for an external retrieval of a resource
-
setReadTimeout
public void setReadTimeout(int readTimeout)
- Parameters:
readTimeout- in seconds for an external retrieval of a resource
-
setResources
public void setResources(List<ResourceItem> resources)
- Parameters:
resources- a list ofResourceItems
-
setSearchFilename
public void setSearchFilename(String searchName)
- Parameters:
searchName-null, or the search filename term, ifResourceItem.getType()is anEResourceItemType.ATTACHMENT_SEARCHresource
-
forAttachmentSearch
public static MultiFile forAttachmentSearch(String attachmentSearchName, EAttachmentSource... attachmentSources)
- Parameters:
attachmentSearchName- Pattern for the name of attachments to find.attachmentSources- Attachment sources to find.- Returns:
- A multi file referencing the given attachment.
-
forExternalUrls
public static MultiFile forExternalUrls(String... urls)
- Parameters:
urls- External resource URLs to read.- Returns:
- A multi file referencing the given URLs.
-
forFiles
public static MultiFile forFiles(Iterable<ResourceItem> resourceItems, Iterable<String> urls, Iterable<EAttachmentSource> attachmentSources, String attachmentSearchName)
- Parameters:
resourceItems- Resource items to wrap in a multi file.urls- External resource URLs to read.attachmentSearchName- Pattern for the name of attachments to find.attachmentSources- Attachment sources to find.- Returns:
- A multi file referencing the given files.
-
forResourceItems
public static MultiFile forResourceItems(ResourceItem... items)
- Parameters:
items- Resource items to wrap in a multi file.- Returns:
- A multi file referencing the given resource items.
-
-