public abstract class Response extends Object
A response object signalling to the framework the action to take after an interaction. This object is usually returned after the invocation of a controller method and instructs the action to perform.
A Response.Process.Action.Redirect
response instructs Juzu to make a redirection to a valid
URL after the interaction, this kind of response is created using the factory method redirect(String)
:
return Response.redirect("http://www.exoplatform.org");
A Response.View
response instructs Juzu to proceed to the render phase of a valid view
controller, this kind of response can be created using an juzu.request.ActionContext
, however the best
way is to use a controller companion class that carries method factories for creating render responses.
Type safe Response.View
factory method are generated for each view or resource controller
methods. The signature of an render factory is obtained by using the same signature of the controller method.
public class MyController {
@Action
public Response.View
myAction() {
return MyController_.myView("hello");
}
@View
public void myView(String param) {
}
}
Mime response are used by the Phase.VIEW
and the Phase.RESOURCE
phases.
Both contains a content to be streamed to the client but still they have some noticeable differences.
The Response.Content
class is the base response class which will work well for the two phases.
However the Phase.VIEW
can specify an optional title and the Phase.RESOURCE
can specify an optional status code for the user agent response.
Responses are created using the Response
factory methods such as
ok()
creates an ok responsenotFound()
creates a not found responseResponse can also created from Template
directly:
public class MyController {
@Inject @Path("index.gtmpl") Template
index;
@View
public Response.Content
myView() {
return index.ok();
}
@Inject @Path("error.gtmpl") Template
error;
@Resource
public Response.Content
myView() {
return error.notFound();
}
}
The Template.Builder
can also create responses:
public class MyController {
@Inject @Path("index.gtmpl") index index;
@View
public Response.Content
myView() {
return index.with().label("hello").ok();
}
}
Modifier and Type | Class and Description |
---|---|
static class |
Response.Body |
static class |
Response.Content |
static class |
Response.Error |
static class |
Response.Redirect
A response instructing to execute an HTTP redirection after the current interaction.
|
static class |
Response.Status |
static class |
Response.View
A response instructing to execute a render phase of a controller method after the current interaction.
|
Modifier and Type | Method and Description |
---|---|
static Response.Content |
content(int code,
byte[] content) |
static Response.Content |
content(int code,
CharSequence content) |
static Response.Content |
content(int code,
InputStream content) |
static Response.Content |
content(int code,
Readable content) |
static Response.Content |
content(int code,
Streamable content) |
static Response.Error |
error(String msg) |
static Response.Error |
error(Throwable t) |
PropertyMap |
getProperties() |
static Response.Status |
notFound() |
static Response.Content |
notFound(byte[] content) |
static Response.Content |
notFound(CharSequence content) |
static Response.Content |
notFound(InputStream content) |
static Response.Content |
notFound(Readable content) |
static Response.Status |
ok() |
static Response.Content |
ok(byte[] content) |
static Response.Content |
ok(CharSequence content) |
static Response.Content |
ok(InputStream content) |
static Response.Content |
ok(Readable content) |
static Response.Redirect |
redirect(String location) |
static Response.Status |
status(int code) |
Response |
with(PropertyType<Boolean> propertyType)
Set a boolean property to true.
|
<T> Response |
with(PropertyType<T> propertyType,
T propertyValue)
Set a property, if the value is null, the property is removed.
|
Response |
withHeader(String name,
String... value) |
Response |
withNo(PropertyType<Boolean> propertyType)
Set a boolean property to false.
|
<T> Response |
without(PropertyType<T> propertyType)
Removes a property.
|
public <T> Response with(PropertyType<T> propertyType, T propertyValue) throws NullPointerException
propertyType
- the property typepropertyValue
- the property valueNullPointerException
- if the property type is nullpublic <T> Response without(PropertyType<T> propertyType) throws NullPointerException
propertyType
- the property typeNullPointerException
- if the property type is nullpublic Response with(PropertyType<Boolean> propertyType) throws NullPointerException
propertyType
- the property typeNullPointerException
- if the property type is nullpublic Response withNo(PropertyType<Boolean> propertyType) throws NullPointerException
propertyType
- the property typeNullPointerException
- if the property type is nullpublic final PropertyMap getProperties()
public static Response.Redirect redirect(String location)
public static Response.Status status(int code)
public static Response.Status ok()
public static Response.Status notFound()
public static Response.Content ok(InputStream content)
public static Response.Content ok(byte[] content)
public static Response.Content ok(Readable content)
public static Response.Content ok(CharSequence content)
public static Response.Content notFound(byte[] content)
public static Response.Content notFound(InputStream content)
public static Response.Content notFound(Readable content)
public static Response.Content notFound(CharSequence content)
public static Response.Content content(int code, byte[] content)
public static Response.Content content(int code, InputStream content)
public static Response.Content content(int code, Readable content)
public static Response.Content content(int code, CharSequence content)
public static Response.Content content(int code, Streamable content)
public static Response.Error error(Throwable t)
public static Response.Error error(String msg)
Copyright © 2015 eXo Platform SAS. All rights reserved.