javax.servlet.jsp.tagext

Class BodyContent

public abstract class BodyContent extends JspWriter

An encapsulation of the evaluation of the body of an action so it is available to a tag handler. BodyContent is a subclass of JspWriter.

Note that the content of BodyContent is the result of evaluation, so it will not contain actions and the like, but the result of their invocation.

BodyContent has methods to convert its contents into a String, to read its contents, and to clear the contents.

The buffer size of a BodyContent object is unbounded. A BodyContent object cannot be in autoFlush mode. It is not possible to invoke flush on a BodyContent object, as there is no backing stream.

Instances of BodyContent are created by invoking the pushBody and popBody methods of the PageContext class. A BodyContent is enclosed within another JspWriter (maybe another BodyContent object) following the structure of their associated actions.

A BodyContent is made available to a BodyTag through a setBodyContent() call. The tag handler can use the object until after the call to doEndTag().

Constructor Summary
protected BodyContent(JspWriter e)
Protected constructor.
Method Summary
voidclearBody()
Clear the body without throwing any exceptions.
voidflush()
Redefined flush() so it is not legal.
JspWritergetEnclosingWriter()
Get the enclosing JspWriter.
abstract ReadergetReader()
Return the value of this BodyContent as a Reader.
abstract StringgetString()
Return the value of the BodyContent as a String.
abstract voidwriteOut(Writer out)
Write the contents of this BodyContent into a Writer.

Constructor Detail

BodyContent

protected BodyContent(JspWriter e)
Protected constructor. Unbounded buffer, no autoflushing.

Parameters: e the enclosing JspWriter

Method Detail

clearBody

public void clearBody()
Clear the body without throwing any exceptions.

flush

public void flush()
Redefined flush() so it is not legal.

It is not valid to flush a BodyContent because there is no backing stream behind it.

Throws: IOException always thrown

getEnclosingWriter

public JspWriter getEnclosingWriter()
Get the enclosing JspWriter.

Returns: the enclosing JspWriter passed at construction time

getReader

public abstract Reader getReader()
Return the value of this BodyContent as a Reader.

Returns: the value of this BodyContent as a Reader

getString

public abstract String getString()
Return the value of the BodyContent as a String.

Returns: the value of the BodyContent as a String

writeOut

public abstract void writeOut(Writer out)
Write the contents of this BodyContent into a Writer. Subclasses may optimize common invocation patterns.

Parameters: out The writer into which to place the contents of this body evaluation

Throws: IOException if an I/O error occurred while writing the contents of this BodyContent to the given Writer

Copyright © 2004 Mortbay Consulting Pty. Ltd. All Rights Reserved.