com.opensymphony.module.sitemesh.filter
Class RoutablePrintWriter

java.lang.Object
  extended byjava.io.Writer
      extended byjava.io.PrintWriter
          extended bycom.opensymphony.module.sitemesh.filter.RoutablePrintWriter

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
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
private  PrintWriter destination
           
private  RoutablePrintWriter.DestinationFactory factory
           
 
Fields inherited from class java.io.PrintWriter
out
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
RoutablePrintWriter(RoutablePrintWriter.DestinationFactory factory)
           
 
Method Summary
 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
setError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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()

println

public void println(Object x)

println

public void println(String x)

println

public void println(char[] x)

println

public void println(double x)

println

public void println(float x)

println

public void println(long x)

println

public void println(int x)

println

public void println(char x)

println

public void println(boolean x)

println

public void println()

print

public void print(Object obj)

print

public void print(String s)

print

public void print(char[] s)

print

public void print(double d)

print

public void print(float f)

print

public void print(long l)

print

public void print(int i)

print

public void print(char c)

print

public void print(boolean b)

write

public void write(String s)

write

public void write(String s,
                  int off,
                  int len)

write

public void write(char[] buf)

write

public void write(char[] buf,
                  int off,
                  int len)

write

public void write(int c)

checkError

public boolean checkError()

flush

public void flush()

www.opensymphony.com/sitemesh/