|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.jersey.api.view.Viewable
public class Viewable
A viewable type referencing a template by name and a model to be passed to the template. Such a type may be returned by a resource method of a resource class. In this respect the template is the view and the controller is the resource class in the Model View Controller pattern.
The template name may be declared as absolute template name if the name begins with a '/', otherwise the template name is declared as a relative template name.
A relative template name requires resolving to an absolute template name
when the viewable type is processed.
If a resolving class is present then that class will be used to resolve the
relative template name.
If a resolving class is not present then the class of the last matching
resource obtained from UriInfo.getMatchedResources()
,
namely the class obtained from the expression
uriInfo.getMatchedResources().get(0).getClass()
, is utilized
as the resolving class.
If there are no matching resources then an error will result.
The resolving class, and super classes in the inheritence hierarchy, are
utilized to generate the absolute template name as follows.
The base path starts with '/' character, followed by the fully
qualified class name of the resolving class, with any '.' and '$' characters
replaced with a '/' character, followed by a '/' character,
followed by the relative template name.
If the absolute template name cannot be resolved into a template reference
(see ViewProcessor
and TemplateContext
) then the super class
of the resolving class is utilized, and is set as the resolving class.
Traversal up the inheritence hierarchy proceeds until an absolute template
name can be resolved into a template reference, or the Object class is
reached, which means the absolute template name could not be resolved and
an error will result.
Constructor Summary | |
---|---|
Viewable(java.lang.String templateName)
Construct a new viewable type with a template name. |
|
Viewable(java.lang.String templateName,
java.lang.Object model)
Construct a new viewable type with a template name and a model. |
|
Viewable(java.lang.String templateName,
java.lang.Object model,
java.lang.Class<?> resolvingClass)
Construct a new viewable type with a template name, a model and a resolving class. |
Method Summary | |
---|---|
java.lang.Object |
getModel()
Get the model. |
java.lang.Class<?> |
getResolvingClass()
Get the resolving class. |
java.lang.String |
getTemplateName()
Get the template name. |
boolean |
isTemplateNameAbsolute()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Viewable(java.lang.String templateName)
The model will be set to null
.
templateName
- the template name, shall not be null
.public Viewable(java.lang.String templateName, java.lang.Object model)
templateName
- the template name, shall not be null
.model
- the model, may be null
.public Viewable(java.lang.String templateName, java.lang.Object model, java.lang.Class<?> resolvingClass) throws java.lang.IllegalArgumentException
templateName
- the template name, shall not be null
.model
- the model, may be null
.resolvingClass
- the class to use to resolve the template name
if the template is not absolute, if null
then the resolving
class will be obtained from the last matching resource.
java.lang.IllegalArgumentException
- if the template name is null
.Method Detail |
---|
public java.lang.String getTemplateName()
public java.lang.Object getModel()
public java.lang.Class<?> getResolvingClass()
public boolean isTemplateNameAbsolute()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |