Groovy 1.7.0

groovy.servlet
Class ServletBinding

java.lang.Object
  groovy.lang.GroovyObjectSupport
      groovy.lang.Binding
          groovy.servlet.ServletBinding

class ServletBinding
extends Binding

Servlet-specific binding extension to lazy load the writer or the output stream from the response.

Eager variables

Lazy variables

As per specification a call to response.getWriter() should not be done if a call to response.getOutputStream() have been done already and the other way around. Lazy bound variables can be requested without side effects, since the writer and stream is wrapped. That means response.getWriter() is not directly called if 'out' or 'html' is requested. Only if a write method call is done using the variable, a write method call on 'sout' will cause a IllegalStateException. If a write method call on 'sout' has been done already any further write method call on 'out' or 'html' will cause a IllegalStateException.

If response.getWriter() is called directly (without using out), then a write method call on 'sout' will not cause the IllegalStateException, but it will still be invalid. It is the responsibility of the user of this class, to not to mix these different usage styles. The same applies to calling response.getOoutputStream() and using 'out' or 'html'.

Methods

author:
Guillaume Laforge
author:
Christian Stein
author:
Jochen Theodorou


Nested Class Summary
class ServletBinding.InvalidOutputStream

A OutputStream dummy that will throw a GroovyBugError for any write method call to it.

class ServletBinding.ServletOutput

A class to manage the response output stream and writer.

 
Constructor Summary
ServletBinding()

 
Method Summary
def ServletBinding(HttpServletRequest request, HttpServletResponse response, ServletContext context)

Initializes a servlet binding.

void forward(String path)

Object getVariable(String name)

Map getVariables()

void include(String path)

void redirect(String location)

void setVariable(String name, Object value)

 
Methods inherited from class Binding
getProperty, getVariable, getVariables, setProperty, setVariable
 
Methods inherited from class GroovyObjectSupport
getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty
 
Methods inherited from class Object
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
 

Constructor Detail

ServletBinding

ServletBinding()


 
Method Detail

ServletBinding

public def ServletBinding(HttpServletRequest request, HttpServletResponse response, ServletContext context)
Initializes a servlet binding.
param:
request the HttpServletRequest object
param:
response the HttpServletRequest object
param:
context the ServletContext object


forward

public void forward(String path)


getVariable

@Override
public Object getVariable(String name)
return:
a writer, an output stream, a markup builder or another requested object


getVariables

@Override
public Map getVariables()


include

public void include(String path)


redirect

public void redirect(String location)


setVariable

@Override
public void setVariable(String name, Object value)


 

Copyright © 2003-2009 The Codehaus. All rights reserved.