|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjuzu.Response
public abstract class Response
A response object signalling to the portal the action to take after an interaction. This object is usually returned after the invocation of a controller method and instructs Juzu the action to take.
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 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_.myRender("hello");
}
@View
public void myRender(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(java.lang.CharSequence)
creates an ok responsenotFound(java.lang.CharSequence)
creates a not found responseResponse can also created from Template
directly:
public class MyController {
@Inject @Path("index.gtmpl") Template
index;
@View
public Response.Render
myView() {
return index.render();
}
@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").render();
}
}
Nested Class Summary | |
---|---|
static class |
Response.Content<S extends Stream>
|
static class |
Response.Redirect
A response instructing to execute an HTTP redirection after the current interaction. |
static class |
Response.Render
|
static class |
Response.View
A response instructing to execute a render phase of a controller method after the current interaction. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public <T> Response with(PropertyType<T> propertyType, T propertyValue) throws NullPointerException
propertyType
- the property typepropertyValue
- the property value
NullPointerException
- if the property type is nullpublic <T> Response without(PropertyType<T> propertyType) throws NullPointerException
propertyType
- the property type
NullPointerException
- if the property type is nullpublic Response with(PropertyType<Boolean> propertyType) throws NullPointerException
propertyType
- the property type
NullPointerException
- if the property type is nullpublic Response withNo(PropertyType<Boolean> propertyType) throws NullPointerException
propertyType
- the property type
NullPointerException
- if the property type is nullpublic final PropertyMap getProperties()
public Response withHeader(String name, String... value)
public static Response.Redirect redirect(String location)
public static Response.Render render(CharSequence content)
public static Response.Render render(String title, CharSequence content)
public static Response.Content<Stream.Char> ok(CharSequence content)
public static Response.Content<Stream.Binary> ok(InputStream content)
public static Response.Content<Stream.Char> notFound(CharSequence content)
public static Response.Content<Stream.Char> content(int code, CharSequence content)
public static Response.Content<Stream.Char> content(int code, Streamable<Stream.Char> content)
public static Response.Content<Stream.Binary> content(int code, InputStream content)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |