Class RoutablePrintWriter
- java.lang.Object
-
- java.io.Writer
-
- java.io.PrintWriter
-
- com.opensymphony.module.sitemesh.filter.RoutablePrintWriter
-
- All Implemented Interfaces:
Closeable
,Flushable
,Appendable
,AutoCloseable
public class RoutablePrintWriter extends PrintWriter
Provides a PrintWriter that routes through to another PrintWriter, however the destination can be changed at any point. The destination can be passed in using a factory, so it will not be created until it's actually needed.- Version:
- $Revision: 1.1 $
- Author:
- Joe Walnes
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
RoutablePrintWriter.DestinationFactory
Factory to lazily instantiate the destination.private static class
RoutablePrintWriter.NullWriter
Just to keep super constructor for PrintWriter happy - it's never actually used.
-
Field Summary
Fields Modifier and Type Field Description private PrintWriter
destination
private RoutablePrintWriter.DestinationFactory
factory
-
Fields inherited from class java.io.PrintWriter
out
-
-
Constructor Summary
Constructors Constructor Description RoutablePrintWriter(RoutablePrintWriter.DestinationFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
checkError()
void
close()
void
flush()
private PrintWriter
getDestination()
void
print(boolean b)
void
print(char c)
void
print(char[] s)
void
print(double d)
void
print(float f)
void
print(int i)
void
print(long l)
void
print(Object obj)
void
print(String s)
void
println()
void
println(boolean x)
void
println(char x)
void
println(char[] x)
void
println(double x)
void
println(float x)
void
println(int x)
void
println(long x)
void
println(Object x)
void
println(String x)
void
updateDestination(RoutablePrintWriter.DestinationFactory factory)
void
write(char[] buf)
void
write(char[] buf, int off, int len)
void
write(int c)
void
write(String s)
void
write(String s, int off, int len)
-
Methods inherited from class java.io.PrintWriter
append, append, append, clearError, format, format, printf, printf, setError
-
Methods inherited from class java.io.Writer
nullWriter
-
-
-
-
Field Detail
-
destination
private PrintWriter destination
-
factory
private RoutablePrintWriter.DestinationFactory factory
-
-
Constructor Detail
-
RoutablePrintWriter
public RoutablePrintWriter(RoutablePrintWriter.DestinationFactory factory)
-
-
Method Detail
-
getDestination
private PrintWriter getDestination()
-
updateDestination
public void updateDestination(RoutablePrintWriter.DestinationFactory factory)
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classPrintWriter
-
println
public void println(Object x)
- Overrides:
println
in classPrintWriter
-
println
public void println(String x)
- Overrides:
println
in classPrintWriter
-
println
public void println(char[] x)
- Overrides:
println
in classPrintWriter
-
println
public void println(double x)
- Overrides:
println
in classPrintWriter
-
println
public void println(float x)
- Overrides:
println
in classPrintWriter
-
println
public void println(long x)
- Overrides:
println
in classPrintWriter
-
println
public void println(int x)
- Overrides:
println
in classPrintWriter
-
println
public void println(char x)
- Overrides:
println
in classPrintWriter
-
println
public void println(boolean x)
- Overrides:
println
in classPrintWriter
-
println
public void println()
- Overrides:
println
in classPrintWriter
-
print
public void print(Object obj)
- Overrides:
print
in classPrintWriter
-
print
public void print(String s)
- Overrides:
print
in classPrintWriter
-
print
public void print(char[] s)
- Overrides:
print
in classPrintWriter
-
print
public void print(double d)
- Overrides:
print
in classPrintWriter
-
print
public void print(float f)
- Overrides:
print
in classPrintWriter
-
print
public void print(long l)
- Overrides:
print
in classPrintWriter
-
print
public void print(int i)
- Overrides:
print
in classPrintWriter
-
print
public void print(char c)
- Overrides:
print
in classPrintWriter
-
print
public void print(boolean b)
- Overrides:
print
in classPrintWriter
-
write
public void write(String s)
- Overrides:
write
in classPrintWriter
-
write
public void write(String s, int off, int len)
- Overrides:
write
in classPrintWriter
-
write
public void write(char[] buf)
- Overrides:
write
in classPrintWriter
-
write
public void write(char[] buf, int off, int len)
- Overrides:
write
in classPrintWriter
-
write
public void write(int c)
- Overrides:
write
in classPrintWriter
-
checkError
public boolean checkError()
- Overrides:
checkError
in classPrintWriter
-
flush
public void flush()
- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classPrintWriter
-
-