public class ThreadOutputMuxer
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) class |
ThreadOutputMuxer.ConsolePrinter
A simple but safe solution for printing to the console.
|
private class |
ThreadOutputMuxer.ThreadBoundPrintStream |
Modifier and Type | Field and Description |
---|---|
private java.util.Set<ProjectSegment> |
completedBuilds |
private ProjectSegment |
currentBuild |
private java.io.ByteArrayOutputStream |
defaultOutputStreamForUnknownData |
private java.io.PrintStream |
defaultPrintStream |
private java.io.PrintStream |
originalSystemOUtStream |
private ThreadOutputMuxer.ConsolePrinter |
printer |
private java.util.Map<ProjectSegment,java.io.PrintStream> |
printStreams |
private java.lang.ThreadLocal<ProjectSegment> |
projectBuildThreadLocal |
private java.util.Iterator<ProjectSegment> |
projects |
private java.util.Map<ProjectSegment,java.io.ByteArrayOutputStream> |
streams |
Constructor and Description |
---|
ThreadOutputMuxer(ProjectBuildList segmentChunks,
java.io.PrintStream originalSystemOut) |
Modifier and Type | Method and Description |
---|---|
void |
associateThreadWithProjectSegment(ProjectSegment projectBuild) |
void |
close() |
private void |
disconnectThreadFromProject() |
private java.io.PrintStream |
getThreadBoundPrintStream() |
private boolean |
ownsRealOutputStream(ProjectSegment projectBuild) |
private void |
setNext() |
void |
setThisModuleComplete(ProjectSegment projectBuild) |
private final java.util.Iterator<ProjectSegment> projects
private final java.lang.ThreadLocal<ProjectSegment> projectBuildThreadLocal
private final java.util.Map<ProjectSegment,java.io.ByteArrayOutputStream> streams
private final java.util.Map<ProjectSegment,java.io.PrintStream> printStreams
private final java.io.ByteArrayOutputStream defaultOutputStreamForUnknownData
private final java.io.PrintStream defaultPrintStream
private final java.util.Set<ProjectSegment> completedBuilds
private volatile ProjectSegment currentBuild
private final java.io.PrintStream originalSystemOUtStream
private final ThreadOutputMuxer.ConsolePrinter printer
public ThreadOutputMuxer(ProjectBuildList segmentChunks, java.io.PrintStream originalSystemOut)
public void close()
private void setNext()
private boolean ownsRealOutputStream(ProjectSegment projectBuild)
private java.io.PrintStream getThreadBoundPrintStream()
public void associateThreadWithProjectSegment(ProjectSegment projectBuild)
public void setThisModuleComplete(ProjectSegment projectBuild)
private void disconnectThreadFromProject()