public class Viewable
extends java.lang.Object
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 and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
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() |
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
.public java.lang.String getTemplateName()
public java.lang.Object getModel()
public java.lang.Class<?> getResolvingClass()
public boolean isTemplateNameAbsolute()
Copyright © 2016 Oracle Corporation. All Rights Reserved.