net.sf.jelly.apt.strategies
Class TemplateOutputRedirectionStrategy<B extends TemplateBlock>

java.lang.Object
  extended by net.sf.jelly.apt.strategies.TemplateStrategyControl<B>
      extended by net.sf.jelly.apt.strategies.TemplateBlockStrategy<B>
          extended by net.sf.jelly.apt.strategies.TemplateOutputRedirectionStrategy<B>
All Implemented Interfaces:
TemplateStrategy<B>
Direct Known Subclasses:
FileStrategy, JavaSourceStrategy

public abstract class TemplateOutputRedirectionStrategy<B extends TemplateBlock>
extends TemplateBlockStrategy<B>

A strategy for redirecting output.

Author:
Ryan Heaton

Constructor Summary
TemplateOutputRedirectionStrategy()
           
 
Method Summary
protected abstract  java.io.PrintWriter getWriter()
           
 void postProcess(B block, TemplateOutput<B> output, TemplateModel model)
          Pops this strategy off the stack.
 boolean preProcess(B block, TemplateOutput<B> output, TemplateModel model)
          Pushes this strategy on the stack and redirects the output.
 
Methods inherited from class net.sf.jelly.apt.strategies.TemplateBlockStrategy
processBody
 
Methods inherited from class net.sf.jelly.apt.strategies.TemplateStrategyControl
invoke
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TemplateOutputRedirectionStrategy

public TemplateOutputRedirectionStrategy()
Method Detail

getWriter

protected abstract java.io.PrintWriter getWriter()
                                          throws TemplateException,
                                                 java.io.IOException
Returns:
The writer to which to redirect the output.
Throws:
TemplateException
java.io.IOException

preProcess

public boolean preProcess(B block,
                          TemplateOutput<B> output,
                          TemplateModel model)
                   throws java.io.IOException,
                          TemplateException
Description copied from class: TemplateBlockStrategy
Pushes this strategy on the stack and redirects the output.

Overrides:
preProcess in class TemplateBlockStrategy<B extends TemplateBlock>
Parameters:
block - The block.
output - The output.
model - The model.
Returns:
true, as the body should be evaluated.
Throws:
java.io.IOException
TemplateException

postProcess

public void postProcess(B block,
                        TemplateOutput<B> output,
                        TemplateModel model)
                 throws java.io.IOException,
                        TemplateException
Description copied from class: TemplateBlockStrategy
Pops this strategy off the stack.

Overrides:
postProcess in class TemplateBlockStrategy<B extends TemplateBlock>
Parameters:
block - The block.
output - The output.
model - The model.
Throws:
java.io.IOException
TemplateException