Package de.xima.fc.form.persist
Class AttachmentPersisterBuilder
- java.lang.Object
-
- de.xima.fc.form.persist.AttachmentPersisterBuilder
-
- All Implemented Interfaces:
AutoCloseable
public class AttachmentPersisterBuilder extends Object implements AutoCloseable
Builder for persisting attachments of aVorgang
an returning that form record.- Author:
- XIMA MEDIA GmbH
-
-
Constructor Summary
Constructors Constructor Description AttachmentPersisterBuilder(IFormRequestContext requestCtx, FormPersistRequest requestData, Vorgang vorgang, IXForm xform)
Creates a new attachment persister for a given form submission.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Vorgang
build()
Deprecated.UsecreatePersistData()
(which may be called before a form record exists), then callbuild(AttachmentPersistBuildData, Vorgang)
with the existing form record.Vorgang
build(AttachmentPersistBuildData data, Vorgang formRecord)
Updates the form record with the attachments that were submitted and return the updated form record.void
close()
de.xima.fc.form.persist.AttachmentPreprocessData
createAttachmentPreProcessData()
AttachmentPersistBuildData
createPersistData()
Reads the submitted uploads and prepares them.
-
-
-
Constructor Detail
-
AttachmentPersisterBuilder
public AttachmentPersisterBuilder(IFormRequestContext requestCtx, FormPersistRequest requestData, Vorgang vorgang, IXForm xform) throws IOException
Creates a new attachment persister for a given form submission.- Parameters:
requestCtx
- The current request context that was used to submit the form.requestData
- The request data with the uploads map that will be sent via the API.vorgang
- The form record that was edited or newly created as a result of the submission.xform
- The form that was submitted-- Throws:
IOException
- When the temp dir for files could not be created.
-
-
Method Detail
-
createAttachmentPreProcessData
public de.xima.fc.form.persist.AttachmentPreprocessData createAttachmentPreProcessData()
- Returns:
- The upload meta data map and the initial attachment data.
-
build
@Deprecated public Vorgang build() throws ContextBuilderException
Deprecated.UsecreatePersistData()
(which may be called before a form record exists), then callbuild(AttachmentPersistBuildData, Vorgang)
with the existing form record.Updates the form record with the attachments that were submitted and return the updated form record.- Returns:
- The updated form record.
- Throws:
ContextBuilderException
- When the attachments could not be processed.
-
build
public Vorgang build(AttachmentPersistBuildData data, Vorgang formRecord) throws ContextBuilderException
Updates the form record with the attachments that were submitted and return the updated form record.- Parameters:
data
- Data that was created bycreatePersistData()
.formRecord
- Persisted form record to which to add the attachments.- Returns:
- The updated form record.
- Throws:
ContextBuilderException
- When the attachments could not be processed.
-
close
public void close() throws Exception
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
createPersistData
public AttachmentPersistBuildData createPersistData() throws ContextBuilderException
Reads the submitted uploads and prepares them. Pass the returned value tobuild()
to persist the uploads. Whilebuild()
requires a persisted form record, this method can be used before the form record was persisted, i.e. theformRecord
passed to the constructor may be null. This is useful, e.g., when you want to reject a form submission without persisting the data.- Returns:
- The data with the attachments to be created / updated and the attachments that need to be deleted.
- Throws:
ContextBuilderException
- When the uploads could not be processed.
-
-