# Class ExpiresFilter.XPrintWriter

java.lang.Object
java.io.Writer
java.io.PrintWriter
org.apache.catalina.filters.ExpiresFilter.XPrintWriter

All Implemented Interfaces:
  `Closeable, Flushable, Appendable, AutoCloseable`

Enclosing class:
  `ExpiresFilter`

public class ExpiresFilter.XPrintWriter extends PrintWriter
Wrapping extension of `PrintWriter` to trap the "Start Write Response Body" event.

## Field Summary

### Fields inherited from class Writer

`lock`

## Constructor Summary

Constructors
Constructor
Description
`XPrintWriter(PrintWriter out, HttpServletRequest request, ExpiresFilter.XHttpServletResponse response)`
Creates a new XPrintWriter wrapping the given writer.

## Method Summary

Modifier and Type
Method
Description
`PrintWriter`
`append(char c)`
`PrintWriter`
`append(CharSequence csq)`
`PrintWriter`
`append(CharSequence csq, int start, int end)`
`void`
`close()`
`void`
`flush()`
`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)`
`PrintWriter`
`printf(String format, Object... args)`
`PrintWriter`
`printf(Locale l, String format, Object... args)`
`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`
`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 PrintWriter

`checkError, clearError, format, format, setError`

### Methods inherited from class Writer

`nullWriter`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### XPrintWriter

public XPrintWriter(PrintWriter out, HttpServletRequest request, ExpiresFilter.XHttpServletResponse response)
Creates a new XPrintWriter wrapping the given writer.

Parameters:
  `out` - the PrintWriter to wrap
  `request` - the HTTP servlet request
  `response` - the wrapped HTTP servlet response

## Method Details

### append

public PrintWriter append(char c)

Specified by:
  `append` in interface `Appendable`
Overrides:
  `append` in class `PrintWriter`

### append

public PrintWriter append(CharSequence csq)

Specified by:
  `append` in interface `Appendable`
Overrides:
  `append` in class `PrintWriter`

### append

public PrintWriter append(CharSequence csq, int start, int end)

Specified by:
  `append` in interface `Appendable`
Overrides:
  `append` in class `PrintWriter`

### close

public void close()

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Overrides:
  `close` in class `PrintWriter`

### flush

public void flush()

Specified by:
  `flush` in interface `Flushable`
Overrides:
  `flush` in class `PrintWriter`

### print

public void print(boolean b)

Overrides:
  `print` in class `PrintWriter`

### print

public void print(char c)

Overrides:
  `print` in class `PrintWriter`

### print

public void print(char[] s)

Overrides:
  `print` in class `PrintWriter`

### print

public void print(double d)

Overrides:
  `print` in class `PrintWriter`

### print

public void print(float f)

Overrides:
  `print` in class `PrintWriter`

### print

public void print(int i)

Overrides:
  `print` in class `PrintWriter`

### print

public void print(long l)

Overrides:
  `print` in class `PrintWriter`

### print

public void print(Object obj)

Overrides:
  `print` in class `PrintWriter`

### print

public void print(String s)

Overrides:
  `print` in class `PrintWriter`

### printf

public PrintWriter printf(Locale l, String format, Object... args)

Overrides:
  `printf` in class `PrintWriter`

### printf

public PrintWriter printf(String format, Object... args)

Overrides:
  `printf` in class `PrintWriter`

### println

public void println()

Overrides:
  `println` in class `PrintWriter`

### println

public void println(boolean x)

Overrides:
  `println` in class `PrintWriter`

### println

public void println(char x)

Overrides:
  `println` in class `PrintWriter`

### println

public void println(char[] x)

Overrides:
  `println` in class `PrintWriter`

### println

public void println(double x)

Overrides:
  `println` in class `PrintWriter`

### println

public void println(float x)

Overrides:
  `println` in class `PrintWriter`

### println

public void println(int x)

Overrides:
  `println` in class `PrintWriter`

### println

public void println(long x)

Overrides:
  `println` in class `PrintWriter`

### println

public void println(Object x)

Overrides:
  `println` in class `PrintWriter`

### println

public void println(String x)

Overrides:
  `println` in class `PrintWriter`

### write

public void write(char[] buf)

Overrides:
  `write` in class `PrintWriter`

### write

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

Overrides:
  `write` in class `PrintWriter`

### write

public void write(int c)

Overrides:
  `write` in class `PrintWriter`

### write

public void write(String s)

Overrides:
  `write` in class `PrintWriter`

### write

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

Overrides:
  `write` in class `PrintWriter`