Class ConsoleAccumulator
java.lang.Object
com.scivicslab.actoriac.accumulator.ConsoleAccumulator
- All Implemented Interfaces:
com.scivicslab.pojoactor.core.accumulator.Accumulator
public class ConsoleAccumulator
extends Object
implements com.scivicslab.pojoactor.core.accumulator.Accumulator
Accumulator that outputs to the console (System.out/System.err).
This accumulator writes output directly to the console as it arrives. It supports different output types:
cowsay- Rendered cowsay ASCII art (output as-is)stdout- Command stdout (output as-is)stderr- Command stderr (output to System.err)
Usage
ConsoleAccumulator console = new ConsoleAccumulator();
console.add("node-1", "stdout", "command output line");
console.add("workflow", "cowsay", renderedCowsayArt);
- Since:
- 2.12.0
- Author:
- devteam@scivicslab.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicIntegerprivate booleanprivate final PrintStreamprivate final PrintStream -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a ConsoleAccumulator with default System.out and System.err.ConsoleAccumulator(PrintStream stdout, PrintStream stderr) Constructs a ConsoleAccumulator with custom output streams. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclear()private StringformatOutput(String source, String data) Formats the output with a fixed-width source prefix on each line.private StringformatPrefix(String source) Creates a prefix from the source name.intgetCount()booleanisQuiet()Returns whether quiet mode is enabled.voidsetQuiet(boolean quiet) Sets quiet mode.
-
Field Details
-
stdout
-
stderr
-
count
-
quiet
-
-
Constructor Details
-
ConsoleAccumulator
public ConsoleAccumulator()Constructs a ConsoleAccumulator with default System.out and System.err. -
ConsoleAccumulator
Constructs a ConsoleAccumulator with custom output streams.- Parameters:
stdout- the stream for stdout outputstderr- the stream for stderr output
-
-
Method Details
-
setQuiet
Sets quiet mode. When quiet, no output is written.- Parameters:
quiet- true to suppress output, false to enable output
-
isQuiet
Returns whether quiet mode is enabled.- Returns:
- true if quiet mode is enabled
-
add
-
formatOutput
Formats the output with a fixed-width source prefix on each line.Every line of output is prefixed with
[source]where source is left-justified in a fixed-width field. This allows multi-line output (such as cowsay ASCII art) to remain properly aligned while still being identifiable by source.Example output:
[node-web-01 ] command output here [workflow ] _______________________ [workflow ] invalid input: '<' Starting workflow... > [workflow ] ------------------------ Parameters:
source- the source identifier (e.g., "node-web-01", "cli")data- the output data (may contain multiple lines)- Returns:
- the formatted output string with prefix on each line
-
formatPrefix
Creates a prefix from the source name.- Parameters:
source- the source identifier- Returns:
- formatted prefix like "[node-web-01] "
-
getSummary
- Specified by:
getSummaryin interfacecom.scivicslab.pojoactor.core.accumulator.Accumulator
-
getCount
- Specified by:
getCountin interfacecom.scivicslab.pojoactor.core.accumulator.Accumulator
-
clear
- Specified by:
clearin interfacecom.scivicslab.pojoactor.core.accumulator.Accumulator
-