public interface Writer
ElementWriter
s to the file system, or creates new sub-directories for
writing data to.
This class is similar to WriterRouterErrors
but exceptions are thrown rather than
reporting errors.
These operations occur in association with the currently bound output manager.
The ElementWriterSupplier
interface is used so as to avoid object-creation if an
operation isn't actually written.
Note that a ElementWriter
may write more than one file for a given element.
Modifier and Type | Method and Description |
---|---|
Optional<Path> |
createFilenameForWriting(String outputName,
String extension)
The path to write a particular output to.
|
Optional<OutputterChecked> |
createSubdirectory(String outputName,
boolean inheritOutputRulesAndRecording)
Maybe creates a subdirectory for writing to.
|
<T> boolean |
write(String outputName,
ElementWriterSupplier<T> elementWriter,
ElementSupplier<T> element)
Writes an element using an
ElementWriter to the current directory. |
<T> boolean |
writeWithIndex(IndexableOutputNameStyle outputNameStyle,
ElementWriterSupplier<T> elementWriter,
ElementSupplier<T> element,
String index)
Writes an indexed-element using an
ElementWriter in the current directory. |
<T> boolean |
writeWithoutName(String outputName,
ElementWriterSupplier<T> elementWriter,
ElementSupplier<T> element)
Writes an element using an
ElementWriter to the current directory, without
including an output name in the path. |
Optional<OutputterChecked> createSubdirectory(String outputName, boolean inheritOutputRulesAndRecording) throws OutputWriteFailedException
outputName
- the name of the subdirectory. This may determine if an output is allowed or
not.inheritOutputRulesAndRecording
- if true, the output rules and recording are inherited
from the parent directory. if false, they are not, and all outputs are allowed and are
unrecorded.Optional.empty()
.OutputWriteFailedException
<T> boolean write(String outputName, ElementWriterSupplier<T> elementWriter, ElementSupplier<T> element) throws OutputWriteFailedException
ElementWriter
to the current directory.outputName
- the name of the subdirectory. This may determine if an output is allowed or
not.elementWriter
- writes the element to the filesystem.element
- the element to write.OutputWriteFailedException
<T> boolean writeWithIndex(IndexableOutputNameStyle outputNameStyle, ElementWriterSupplier<T> elementWriter, ElementSupplier<T> element, String index) throws OutputWriteFailedException
ElementWriter
in the current directory.outputNameStyle
- how to combine a particular output-name with an index.elementWriter
- writes the element to the filesystem.element
- the element to write.index
- the index.OutputWriteFailedException
<T> boolean writeWithoutName(String outputName, ElementWriterSupplier<T> elementWriter, ElementSupplier<T> element) throws OutputWriteFailedException
ElementWriter
to the current directory, without
including an output name in the path.outputName
- the name of the subdirectory. This may determine if an output is allowed or
not, but will not be included in the outputted filename.elementWriter
- writes the element to the filesystem.element
- the element to write.OutputWriteFailedException
Optional<Path> createFilenameForWriting(String outputName, String extension)
This is an alternative method to write to the file system rather than using an ElementWriter
and write(String, ElementWriterSupplier, ElementSupplier)
and writeWithIndex(IndexableOutputNameStyle, ElementWriterSupplier, ElementSupplier, String)
.
outputName
- the output-name. This is the filename without an extension, and may
determine if an output is allowed or not.extension
- the extensionOptional.empty()
.Copyright © 2010–2023 Owen Feehan, ETH Zurich, University of Zurich, Hoffmann-La Roche. All rights reserved.