org.glassfish.jersey.server.mvc
Class Viewable

java.lang.Object
  extended by org.glassfish.jersey.server.mvc.Viewable
Direct Known Subclasses:
ResolvedViewable

public class Viewable
extends java.lang.Object

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 may be used to resolve the relative template name.
If a resolving class is not present and resolving class is not defined by the Template annotation then the class of the last matching resource should be utilized as the resolving class.
If there are no matching resources then an error will result.

ViewableContext is responsible for resolving absolute template name from relative template name.

Author:
Paul Sandoz (paul.sandoz at oracle.com), Michal Gajdos (michal.gajdos at oracle.com)
See Also:
Template, ViewableContext, ResolvingViewableContext

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()
          Determines whether the template name is represented by an absolute path.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Viewable

public Viewable(java.lang.String templateName)
         throws java.lang.IllegalArgumentException
Construct a new viewable type with a template name.

The model will be set to null.

Parameters:
templateName - the template name, shall not be null.
Throws:
java.lang.IllegalArgumentException - if the template name is null.

Viewable

public Viewable(java.lang.String templateName,
                java.lang.Object model)
         throws java.lang.IllegalArgumentException
Construct a new viewable type with a template name and a model.

Parameters:
templateName - the template name, shall not be null.
model - the model, may be null.
Throws:
java.lang.IllegalArgumentException - if the template name is null.

Viewable

public Viewable(java.lang.String templateName,
                java.lang.Object model,
                java.lang.Class<?> resolvingClass)
         throws java.lang.IllegalArgumentException
Construct a new viewable type with a template name, a model and a resolving class.

Parameters:
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.
Throws:
java.lang.IllegalArgumentException - if the template name is null.
Method Detail

getTemplateName

public java.lang.String getTemplateName()
Get the template name.

Returns:
the template name.

getModel

public java.lang.Object getModel()
Get the model.

Returns:
the model.

getResolvingClass

public java.lang.Class<?> getResolvingClass()
Get the resolving class.

Returns:
the resolving class.

isTemplateNameAbsolute

public boolean isTemplateNameAbsolute()
Determines whether the template name is represented by an absolute path.

Returns:
true if the template name is absolute, and starts with a '/' character, false otherwise.


Copyright © 2007-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.