Package de.xima.fc.workflow.model.nodes
Class SingleFile
- java.lang.Object
-
- de.xima.fc.workflow.model.nodes.SingleFile
-
- All Implemented Interfaces:
IReferencedFileList
,ISingleFileProviding
,Serializable
@NotEmptyIf(field="url",dependants="resource",target=SingleFile.class,payload=url.class) @NotEmptyIf(field="searchFilename",dependants="resource",target=SingleFile.class,payload=searchFilename.class) public final class SingleFile extends Object implements Serializable, ISingleFileProviding
Models a single file that may come from multiple sources, such as client file, project files or external files referenced via a 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
SingleFile.resource
Custom label for thegetResource()
property.static interface
SingleFile.searchFilename
Custom label for thegetSearchFilename()
property.static interface
SingleFile.url
Custom label for thegetUrl()
property.
-
Constructor Summary
Constructors Constructor Description SingleFile()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SingleFile
forAttachmentSearch(String searchName, EAttachmentSource... attachmentFilter)
static SingleFile
forAttachmentSearch(String searchName, Iterable<EAttachmentSource> attachmentFilter)
static SingleFile
forClientFile(MandantRessource clientFile)
static SingleFile
forClientFile(UuidEntityRef clientFileRef)
static SingleFile
forExternal(String url)
static SingleFile
forFormFile(ProjektRessource formFile)
static SingleFile
forFormFile(UuidEntityRef formFileRef)
static SingleFile
forUploadElement(String identifier)
static SingleFile
forWorkflowNode(NodeKey nodeKey)
Creates a new single file reference to the file produces by a workflow node with the default file type.static SingleFile
forWorkflowNode(NodeKey nodeKey, String fileKey)
Creates a new single file reference to the file produces by a workflow node with the given file type.static SingleFile
forWorkflowTrigger(TriggerKey triggerKey)
Creates a new single file reference to the file produces by a workflow trigger with the default file type.static SingleFile
forWorkflowTrigger(TriggerKey triggerKey, String fileKey)
Creates a new single file reference to the file produces by a workflow trigger with the given file type.List<EAttachmentSource>
getAttachmentFilter()
int
getConnectionTimeout()
int
getReadTimeout()
ResourceItem
getResource()
String
getSearchFilename()
String
getUrl()
void
setAttachmentFilter(List<EAttachmentSource> attachmentFilter)
void
setConnectionTimeout(int connectionTimeout)
void
setReadTimeout(int readTimeout)
void
setResource(ResourceItem resource)
void
setSearchFilename(String searchName)
void
setUrl(String url)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.xima.fc.interfaces.workflow.execution.ISingleFileProviding
getResources, getUrls
-
-
-
-
Method Detail
-
getAttachmentFilter
public List<EAttachmentSource> getAttachmentFilter()
- Specified by:
getAttachmentFilter
in interfaceIReferencedFileList
- Specified by:
getAttachmentFilter
in interfaceISingleFileProviding
- Returns:
- Attachment sources to which to restrict the search for attachments, if a resource item of type
EResourceItemType.EXTERNAL
exists.
-
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
-
getConnectionTimeout
public int getConnectionTimeout()
- Specified by:
getConnectionTimeout
in interfaceIReferencedFileList
- Specified by:
getConnectionTimeout
in interfaceISingleFileProviding
- Returns:
- a connection time-out for an external resource retrieval
-
setConnectionTimeout
public void setConnectionTimeout(int connectionTimeout)
- Parameters:
connectionTimeout
- in seconds for an external retrieval of a resource
-
getReadTimeout
public int getReadTimeout()
- Specified by:
getReadTimeout
in interfaceIReferencedFileList
- Specified by:
getReadTimeout
in interfaceISingleFileProviding
- Returns:
- a read time-out for an external resource retrieval
-
setReadTimeout
public void setReadTimeout(int readTimeout)
- Parameters:
readTimeout
- in seconds for an external retrieval of a resource
-
getResource
@Nullable public ResourceItem getResource()
- Specified by:
getResource
in interfaceISingleFileProviding
- Returns:
- The resource item for the file.
-
setResource
public void setResource(@Nullable ResourceItem resource)
- Parameters:
resource
- The resource item for the file. Whennull
, no resource is selected.
-
getSearchFilename
public String getSearchFilename()
- Specified by:
getSearchFilename
in interfaceIReferencedFileList
- Specified by:
getSearchFilename
in interfaceISingleFileProviding
- 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.
-
setSearchFilename
public void setSearchFilename(String searchName)
- Parameters:
searchName
-null
, or the search filename term, ifResourceItem.getType()
is anEResourceItemType.ATTACHMENT_SEARCH
resource
-
getUrl
public String getUrl()
- Specified by:
getUrl
in interfaceISingleFileProviding
- Returns:
null
, or the resource path, ifResourceItem.getType()
is anEResourceItemType.EXTERNAL
resource.
-
setUrl
public void setUrl(String url)
- Parameters:
url
-null
, or the resource path, ifResourceItem.getType()
is anEResourceItemType.EXTERNAL
resource.
-
forAttachmentSearch
public static SingleFile forAttachmentSearch(String searchName, EAttachmentSource... attachmentFilter)
- Parameters:
searchName
- Name by which to search for attachments.attachmentFilter
- Attachments types to which to limit the search.- Returns:
- A new single file for the attachment search option.
-
forAttachmentSearch
public static SingleFile forAttachmentSearch(String searchName, Iterable<EAttachmentSource> attachmentFilter)
- Parameters:
searchName
- Name by which to search for attachments.attachmentFilter
- Attachments types to which to limit the search.- Returns:
- A new single file for the attachment search option.
-
forClientFile
public static SingleFile forClientFile(MandantRessource clientFile)
- Parameters:
clientFile
- A client file to use.- Returns:
- A new single file for a client file resource.
-
forClientFile
public static SingleFile forClientFile(UuidEntityRef clientFileRef)
- Parameters:
clientFileRef
- A reference to theMandantRessource
entity.- Returns:
- A new single file for a client file resource.
-
forExternal
public static SingleFile forExternal(String url)
- Parameters:
url
- URL from which to retrieve the data.- Returns:
- A new single file for an external resource option.
-
forFormFile
public static SingleFile forFormFile(ProjektRessource formFile)
- Parameters:
formFile
- A form file to use.- Returns:
- A new single file for a form file resource.
-
forFormFile
public static SingleFile forFormFile(UuidEntityRef formFileRef)
- Parameters:
formFileRef
- A reference to theProjektRessource
entity.- Returns:
- A new single file for a form file resource.
-
forUploadElement
public static SingleFile forUploadElement(String identifier)
- Parameters:
identifier
- The name of the file upload form element.- Returns:
- A new single file for an external resource option.
-
forWorkflowNode
public static SingleFile forWorkflowNode(NodeKey nodeKey)
Creates a new single file reference to the file produces by a workflow node with the default file type.- Parameters:
nodeKey
- Key of the node to reference.- Returns:
- A new single file representing the files produced by a workflow node.
-
forWorkflowNode
public static SingleFile forWorkflowNode(NodeKey nodeKey, String fileKey)
Creates a new single file reference to the file produces by a workflow node with the given file type.- Parameters:
nodeKey
- Key of the node to reference.- Returns:
- A new single file representing the files produced by a workflow node.
-
forWorkflowTrigger
public static SingleFile forWorkflowTrigger(TriggerKey triggerKey)
Creates a new single file reference to the file produces by a workflow trigger with the default file type.- Parameters:
triggerKey
- Key of the trigger to reference.- Returns:
- A new single file representing the files produced by a workflow trigger.
-
forWorkflowTrigger
public static SingleFile forWorkflowTrigger(TriggerKey triggerKey, String fileKey)
Creates a new single file reference to the file produces by a workflow trigger with the given file type.- Parameters:
triggerKey
- Key of the trigger to reference.- Returns:
- A new single file representing the files produced by a workflow trigger.
-
-