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
INodeExecutionParams
andIWorkflowExecutionContext
contain 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 interface
MultiFile.resources
Custom label for thegetResources()
property.static interface
MultiFile.searchFilename
Custom label for thegetSearchFilename()
property.static interface
MultiFile.urls
Custom label for thegetUrls()
property.
-
Constructor Summary
Constructors Constructor Description MultiFile()
-
Method Summary
-
-
-
Method Detail
-
getAttachmentFilter
public List<EAttachmentSource> getAttachmentFilter()
- Specified by:
getAttachmentFilter
in interfaceIMultiFileProviding
- Specified by:
getAttachmentFilter
in interfaceIReferencedFileList
- Returns:
- Attachment sources to which to restrict the search for attachments, if a resource item of type
EResourceItemType.EXTERNAL
exists.
-
getConnectionTimeout
public int getConnectionTimeout()
- Specified by:
getConnectionTimeout
in interfaceIMultiFileProviding
- Specified by:
getConnectionTimeout
in interfaceIReferencedFileList
- Returns:
- a connection time-out for an external resource retrieval
-
getReadTimeout
public int getReadTimeout()
- Specified by:
getReadTimeout
in interfaceIMultiFileProviding
- Specified by:
getReadTimeout
in interfaceIReferencedFileList
- Returns:
- a read time-out for an external resource retrieval
-
getResources
public List<ResourceItem> getResources()
- Specified by:
getResources
in interfaceIMultiFileProviding
- Specified by:
getResources
in interfaceIReferencedFileList
- Returns:
- All resource items pointing to the files.
-
getSearchFilename
public String getSearchFilename()
- Specified by:
getSearchFilename
in interfaceIMultiFileProviding
- Specified by:
getSearchFilename
in interfaceIReferencedFileList
- Returns:
- Pattern for searching for an attachment, if a resource item of type
EResourceItemType.ATTACHMENT_SEARCH
exists.null
or empty when no such resource item exists.
-
getUrls
public List<String> getUrls()
- Specified by:
getUrls
in interfaceIMultiFileProviding
- Specified by:
getUrls
in interfaceIReferencedFileList
- Returns:
- All URLs from which to read data, if a resource item of type
EResourceItemType.EXTERNAL
exists.
-
isResourceItemTypeSelected
public boolean isResourceItemTypeSelected(EResourceItemType resourceItemType)
- Specified by:
isResourceItemTypeSelected
in interfaceIMultiFileProviding
- Parameters:
resourceItemType
- a String that can be converted into aEResourceItemType
- Returns:
true
if 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 typeEAttachmentSource
for the search filename term. Is only used ifResourceItem.getType()
is anEResourceItemType.ATTACHMENT_SEARCH
resource
-
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 ofResourceItem
s
-
setSearchFilename
public void setSearchFilename(String searchName)
- Parameters:
searchName
-null
, or the search filename term, ifResourceItem.getType()
is anEResourceItemType.ATTACHMENT_SEARCH
resource
-
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.
-
-