org.kuali.rice.krad.uif.view
Interface ViewModel

All Superinterfaces:
Serializable
All Known Implementing Classes:
ActionListForm, CacheAdminForm, CourseOfferingForm, DocumentFormBase, DummyLoginForm, EncryptionForm, IncidentReportForm, InitiatedDocumentInfoForm, InquiryForm, KitchenSinkPerformanceForm, KradLabsForm, KradSampleAppForm, LabsFileUploadsForm, LookupForm, MaintenanceDocumentForm, ParameterForm, RegistrationForm, ServerPagingTestForm, SessionTimeoutForm, StatsForm, TrainingApplicationForm, TransactionalDocumentFormBase, TransactionForm, TravelAuthorizationForm, UifComponentsTestForm, UifComponentsTestForm, UifDialogTestForm, UifFormBase, UITestForm, UITestForm, XmlIngesterForm

public interface ViewModel
extends Serializable

Interface that must be implemented for classes the provide the backing data (model) for a View.

Since the View relies on helper properties from the model it is necessary the backing object implement the ViewModel interface. Note model objects can extend UifFormBase which implements the ViewModel interface.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Method Summary
 Map<String,String> getActionParameters()
          Map of parameters sent for the invoked action
 String getAjaxReturnType()
          Gets the return type for the ajax call
 Map<String,Object> getClientStateForSyncing()
          Map that is populated from the component state maintained on the client
 Map<String,Object> getExtensionData()
          A generic map for framework pieces (such as component modifiers) that need to dynamically store data to the form
 String getFormPostUrl()
          URL the form generated for the view should post to
 String getGrowlScript()
          Script that will run on render (view or component) for generating growl messages
 String getLightboxScript()
          Script that will run on render (view or component) for a lightbox
 Map<String,Object> getNewCollectionLines()
          Holds instances for collection add lines.
 String getPageId()
          Id for the current page being displayed within the view
 List<String> getReadOnlyFieldsList()
          List of fields that should be read only on the view
 String getRequestJsonTemplate()
          Template the will be invoked to return a JSON string
 Map<String,Set<String>> getSelectedCollectionLines()
          Holds Set of String identifiers for lines that were selected in a collection from a single page.
 String getState()
          Gets the state.
 Component getUpdateComponent()
          Component instance that been built for a refresh/disclosure request.
 String getUpdateComponentId()
          Id for the component that should be updated for a component refresh process
 View getView()
          View instance associated with the model.
 ViewHelperService getViewHelperService()
          Returns the view helper service instance that was configured for the current view.
 String getViewId()
          Unique Id for the View instance.
 String getViewName()
          Name for the View instance.
 ViewPostMetadata getViewPostMetadata()
          Gets the ViewPostMetadata that has been built up from processing of a view.
 Map<String,String> getViewRequestParameters()
          Map of parameters that was used to configured the View.
 List<String> getViewsThatNeedDefaultValuesApplied()
          Unique list of view ids that need default values applied.
 UifConstants.ViewType getViewTypeName()
          Name for the type of view being requested.
 boolean isAjaxRequest()
          Indicates whether the request was made by an ajax call
 boolean isCollectionPagingRequest()
          Indicates whether the request is for paging a collection (or sorting).
 boolean isJsonRequest()
          Indicates whether the request should return a JSON string
 boolean isUpdateComponentRequest()
          Indicates whether the request is to update a component (only applicable for ajax requests)
 boolean isUpdateDialogRequest()
          Indicates whether the request is to update a dialog (only applicable for ajax requests)
 boolean isUpdateNoneRequest()
          Indicates whether the request is for a non-update of the view (only applicable for ajax requests)
 boolean isUpdatePageRequest()
          Indicates whether the request is to update a page (only applicable for ajax requests)
 void postBind(javax.servlet.http.HttpServletRequest request)
          Called after Spring binds the request to the form and before the controller method is invoked
 void preBind(javax.servlet.http.HttpServletRequest request)
          Called before Spring binds the request to the form to allow for pre-processing before setting values.
 void setActionParameters(Map<String,String> actionParameters)
          Setter for the action parameters map
 void setAjaxRequest(boolean ajaxRequest)
          Set the ajaxRequest
 void setAjaxReturnType(String ajaxReturnType)
          Setter for the type of ajax return
 void setCollectionPagingRequest(boolean collectionPagingRequest)
           
 void setExtensionData(Map<String,Object> extensionData)
          Setter for the generic extension data map
 void setFormPostUrl(String formPostUrl)
          Setter for the form post URL
 void setGrowlScript(String growlScript)
          Setter for the script that generates growls on render
 void setLightboxScript(String lightboxScript)
          Setter for the script that generates a lightbox on render
 void setNewCollectionLines(Map<String,Object> newCollectionLines)
          Setter for the new collection lines Map
 void setPageId(String pageId)
          Setter for the current page id
 void setReadOnlyFieldsList(List<String> readOnlyFieldsList)
          Setter for the list of read only fields
 void setRequestJsonTemplate(String requestJsonTemplate)
          Setter for the template to render for the request
 void setSelectedCollectionLines(Map<String,Set<String>> selectedCollectionLines)
          Setter for the map that holds selected collection lines
 void setState(String state)
          Set the state
 void setUpdateComponent(Component updateComponent)
           
 void setUpdateComponentId(String updateComponentId)
          Setter for the component id that should be refreshed
 void setView(View view)
          Setter for the view instance
 void setViewId(String viewId)
          Setter for the unique view id
 void setViewName(String viewName)
          Setter for the view name
 void setViewPostMetadata(ViewPostMetadata viewPostMetadata)
           
 void setViewRequestParameters(Map<String,String> viewRequestParameters)
          Setter for the view's request parameter map
 void setViewsThatNeedDefaultValuesApplied(List<String> viewsThatNeedDefaultValuesApplied)
          Setter for the list of view ids that need default values applied.
 void setViewTypeName(UifConstants.ViewType viewTypeName)
          Setter for the view type name
 

Method Detail

preBind

void preBind(javax.servlet.http.HttpServletRequest request)
Called before Spring binds the request to the form to allow for pre-processing before setting values.

Parameters:
request - - request object containing the query parameters

postBind

void postBind(javax.servlet.http.HttpServletRequest request)
Called after Spring binds the request to the form and before the controller method is invoked

Parameters:
request - - request object containing the query parameters

getViewId

String getViewId()
Unique Id for the View instance. This is specified for a view in its definition by setting the 'id' property.

Returns:
String view id

setViewId

void setViewId(String viewId)
Setter for the unique view id

Parameters:
viewId -

getViewName

String getViewName()
Name for the View instance. This is specified for a view in its definition by setting the 'id' property. The name is not necessary unique and cannot be used by itself to retrieve a view. Typically it is used with other parameters to identify a view with a certain type (view type)

Returns:
String view name

setViewName

void setViewName(String viewName)
Setter for the view name

Parameters:
viewName -

getViewTypeName

UifConstants.ViewType getViewTypeName()
Name for the type of view being requested. This can be used to find View instances by request parameters (not necessary the unique id)

Returns:
String view type name

setViewTypeName

void setViewTypeName(UifConstants.ViewType viewTypeName)
Setter for the view type name

Parameters:
viewTypeName -

getView

View getView()
View instance associated with the model. Used to render the user interface

Returns:
View

setView

void setView(View view)
Setter for the view instance

Parameters:
view -

getViewHelperService

ViewHelperService getViewHelperService()
                                       throws IllegalAccessException,
                                              InstantiationException
Returns the view helper service instance that was configured for the current view.

Returns:
instance of view helper service, null if view is null
Throws:
IllegalAccessException
InstantiationException

getViewPostMetadata

ViewPostMetadata getViewPostMetadata()
Gets the ViewPostMetadata that has been built up from processing of a view.

The view post metadata is used to read information about the view that was rendered when a post occurs. For example, you might need to check whether a particular flag was enabled for the rendered view when processing the post logic

Returns:
ViewPostMetadata instance for the previously processed view

setViewPostMetadata

void setViewPostMetadata(ViewPostMetadata viewPostMetadata)
See Also:
getViewPostMetadata()

getPageId

String getPageId()
Id for the current page being displayed within the view

Returns:
String page id

setPageId

void setPageId(String pageId)
Setter for the current page id

Parameters:
pageId -

getFormPostUrl

String getFormPostUrl()
URL the form generated for the view should post to

Returns:
String form post URL

setFormPostUrl

void setFormPostUrl(String formPostUrl)
Setter for the form post URL

Parameters:
formPostUrl -

getViewRequestParameters

Map<String,String> getViewRequestParameters()
Map of parameters that was used to configured the View. Maintained on the form to rebuild the view on posts and session timeout

Returns:
Map view parameters
See Also:
org.kuali.rice.krad.uif.view.View.getViewRequestParameters()

setViewRequestParameters

void setViewRequestParameters(Map<String,String> viewRequestParameters)
Setter for the view's request parameter map

Parameters:
viewRequestParameters - map of request parameters

getReadOnlyFieldsList

List<String> getReadOnlyFieldsList()
List of fields that should be read only on the view

If the view being rendered supports request setting of read-only fields, the readOnlyFields request parameter can be sent to mark fields as read only that might not have been otherwise

Note the paths specified should be the simple property names (not the full binding path). Therefore if the property name appears multiple times in the view, all instances will be set as read only

Returns:
List read only property names
See Also:
View.isSupportsRequestOverrideOfReadOnlyFields()

setReadOnlyFieldsList

void setReadOnlyFieldsList(List<String> readOnlyFieldsList)
Setter for the list of read only fields

Parameters:
readOnlyFieldsList -

getNewCollectionLines

Map<String,Object> getNewCollectionLines()
Holds instances for collection add lines. The key of the Map gives the collection name the line instance applies to, the Map value is an instance of the collection object class that holds the new line data

Returns:
Map new collection lines

setNewCollectionLines

void setNewCollectionLines(Map<String,Object> newCollectionLines)
Setter for the new collection lines Map

Parameters:
newCollectionLines -

getActionParameters

Map<String,String> getActionParameters()
Map of parameters sent for the invoked action

Many times besides just setting the method to call actions need to send additional parameters. For instance the method being called might do a redirect, in which case the action needs to send parameters for the redirect URL. An example of this is redirecting to a Lookup view. In some cases the parameters that need to be sent conflict with properties already on the form, and putting all the action parameters as form properties would grow massive (in addition to adds an additional step from the XML config). So this general map solves those issues.

Returns:
Map action parameters

setActionParameters

void setActionParameters(Map<String,String> actionParameters)
Setter for the action parameters map

Parameters:
actionParameters -

getClientStateForSyncing

Map<String,Object> getClientStateForSyncing()
Map that is populated from the component state maintained on the client

Used when a request is made that refreshes part of the view. The current state for components (which have state that can be changed on the client), is populated into this map which is then used by the ViewHelperService to update the components so that the state is maintained when they render.

Returns:
Map map where key is name of property or component id, and value is the property value or another map of component key/value pairs

getSelectedCollectionLines

Map<String,Set<String>> getSelectedCollectionLines()
Holds Set of String identifiers for lines that were selected in a collection from a single page. selectedCollectionLines are request level values and get reset with every page request

When the select field is enabled for a CollectionGroup, the framework will be default bind the selected identifier strings to this property. The key of the map uniquely identifies the collection by the full binding path to the collection, and the value is a set of Strings for the checked lines.

Returns:
Map> map of collections and their selected lines
See Also:
LegacyDataAdapter.getDataObjectIdentifierString(java.lang.Object)

setSelectedCollectionLines

void setSelectedCollectionLines(Map<String,Set<String>> selectedCollectionLines)
Setter for the map that holds selected collection lines

Parameters:
selectedCollectionLines -

getViewsThatNeedDefaultValuesApplied

List<String> getViewsThatNeedDefaultValuesApplied()
Unique list of view ids that need default values applied.

Returns:
List view ids

setViewsThatNeedDefaultValuesApplied

void setViewsThatNeedDefaultValuesApplied(List<String> viewsThatNeedDefaultValuesApplied)
Setter for the list of view ids that need default values applied.

Parameters:
viewsThatNeedDefaultValuesApplied -

getGrowlScript

String getGrowlScript()
Script that will run on render (view or component) for generating growl messages

Returns:
String JS growl script

setGrowlScript

void setGrowlScript(String growlScript)
Setter for the script that generates growls on render

Parameters:
growlScript -

getLightboxScript

String getLightboxScript()
Script that will run on render (view or component) for a lightbox

Returns:
String JS lightbox script

setLightboxScript

void setLightboxScript(String lightboxScript)
Setter for the script that generates a lightbox on render

Parameters:
lightboxScript -

getState

String getState()
Gets the state. This is the default location for state on KRAD forms.

Returns:
the state

setState

void setState(String state)
Set the state

Parameters:
state -

getUpdateComponentId

String getUpdateComponentId()
Id for the component that should be updated for a component refresh process

Returns:
String component id

setUpdateComponentId

void setUpdateComponentId(String updateComponentId)
Setter for the component id that should be refreshed

Parameters:
updateComponentId -

getUpdateComponent

Component getUpdateComponent()
Component instance that been built for a refresh/disclosure request.

This is generally set by org.kuali.rice.krad.uif.lifecycle.ViewLifecycle#performComponentLifecycle(org.kuali.rice.krad.uif.view.View, java.lang.Object, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.kuali.rice.krad.uif.lifecycle.ViewPostMetadata, java.lang.String) after processing the lifecycle. The form property provides access to the rendering layer.

Returns:
component instance for updating

setUpdateComponent

void setUpdateComponent(Component updateComponent)
See Also:
getUpdateComponent()

isAjaxRequest

boolean isAjaxRequest()
Indicates whether the request was made by an ajax call

Depending on whether the request was made via ajax (versus standard browser submit) the response will be handled different. For example with an ajax request we can send back partial page updates, which cannot be done with standard submits

If this indicator is true, getAjaxReturnType() will be used to determine how to handling the ajax return

Returns:
boolean true if the request was an ajax call, false if not

setAjaxRequest

void setAjaxRequest(boolean ajaxRequest)
Set the ajaxRequest

Parameters:
ajaxRequest -

getAjaxReturnType

String getAjaxReturnType()
Gets the return type for the ajax call

The ajax return type indicates how the response content will be handled in the client. Typical examples include updating a component, the page, or doing a redirect.

Returns:
String return type
See Also:
UifConstants.AjaxReturnTypes

setAjaxReturnType

void setAjaxReturnType(String ajaxReturnType)
Setter for the type of ajax return

Parameters:
ajaxReturnType -

isUpdateComponentRequest

boolean isUpdateComponentRequest()
Indicates whether the request is to update a component (only applicable for ajax requests)

Returns:
boolean true if the request is for update component, false if not

isUpdatePageRequest

boolean isUpdatePageRequest()
Indicates whether the request is to update a page (only applicable for ajax requests)

Returns:
boolean true if the request is for update page, false if not

isUpdateDialogRequest

boolean isUpdateDialogRequest()
Indicates whether the request is to update a dialog (only applicable for ajax requests)

Returns:
boolean true if the request is for update dialog, false if not

isUpdateNoneRequest

boolean isUpdateNoneRequest()
Indicates whether the request is for a non-update of the view (only applicable for ajax requests)

Examples of requests that do not update the view are ajax queries or requests that download a file

Returns:
boolean true if the request is for non-update, false if not

isJsonRequest

boolean isJsonRequest()
Indicates whether the request should return a JSON string

When this indicator is true, the rendering process will invoke the template given by getRequestJsonTemplate() which should return a JSON string

For JSON requests the view is not built, however a component can be retrieved and exported in the request by setting getUpdateComponentId()

Returns:
boolean true if request is for JSON, false if not

getRequestJsonTemplate

String getRequestJsonTemplate()
Template the will be invoked to return a JSON string

Certain templates can be rendered to build JSON for a JSON request. The template set here (by a controller) will be rendered

Returns:
path to template

setRequestJsonTemplate

void setRequestJsonTemplate(String requestJsonTemplate)
Setter for the template to render for the request

Parameters:
requestJsonTemplate -

isCollectionPagingRequest

boolean isCollectionPagingRequest()
Indicates whether the request is for paging a collection (or sorting).

Returns:
boolean true if a paging request is present, false if not

setCollectionPagingRequest

void setCollectionPagingRequest(boolean collectionPagingRequest)
See Also:
isCollectionPagingRequest()

getExtensionData

Map<String,Object> getExtensionData()
A generic map for framework pieces (such as component modifiers) that need to dynamically store data to the form

Returns:
Map

setExtensionData

void setExtensionData(Map<String,Object> extensionData)
Setter for the generic extension data map

Parameters:
extensionData -


Copyright © 2005–2014 The Kuali Foundation. All rights reserved.