Interface EntityViewProcessor
- All Known Implementing Classes:
AbstractEntityFetchingViewProcessor,ActionAllowedAuthorizationViewProcessor,AssociationHeaderViewProcessor,DefaultEntityFetchingViewProcessor,DefaultValidationViewProcessor,DelegatingEntityFetchingViewProcessor,DeleteActionFormViewProcessor,DeleteEntityViewProcessor,DetailFormViewProcessor,EntityPropertyRegistryViewProcessor,EntityQueryFilterProcessor,EntityViewLinksUtilsProcessors.AfterSaveEntityViewRedirectProcessor,EntityViewLinksUtilsProcessors.ButtonRedirectEntityViewRedirectProcessor,EntityViewLinksUtilsProcessors.EntityViewRedirectProcessor,EntityViewProcessorAdapter,ExtensionViewProcessorAdapter,GlobalPageFeedbackViewProcessor,ListFormViewProcessor,ListPageStructureViewProcessor,MessagePrefixingViewProcessor,PageableExtensionViewProcessor,PropertyRenderingViewProcessor,SaveEntityViewProcessor,SimpleEntityViewProcessorAdapter,SingleEntityFormViewProcessor,SingleEntityPageStructureViewProcessor,SortableTableRenderingViewProcessor,TemplateViewProcessor
public interface EntityViewProcessor
Default processor interface for entity view processing. Whereas there is only a single
EntityViewFactory, if that factory implements DefaultEntityViewFactory
there can be multiple processors that modify the resulting view.- Author:
- Arne Vandamme
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidauthorizeRequest(EntityViewRequest entityViewRequest) Verify theEntityViewRequestis valid for this factory.voiddoControl(EntityViewRequest entityViewRequest, EntityView entityView, EntityViewCommand command) Called afterpreProcess(EntityViewRequest, EntityView)but before any rendering.voidinitializeCommandObject(EntityViewRequest entityViewRequest, EntityViewCommand command, org.springframework.web.bind.WebDataBinder dataBinder) Initialize theEntityViewCommandfor the given request.voidpostProcess(EntityViewRequest entityViewRequest, EntityView entityView) Post-process the createdEntityViewafter control and render have completed.voidpostRender(EntityViewRequest entityViewRequest, EntityView entityView) Called afterrender(EntityViewRequest, EntityView)but only if rendering happened.voidprepareEntityViewContext(ConfigurableEntityViewContext entityViewContext) Apply possible factory modifications to theConfigurableEntityViewContext.voidpreProcess(EntityViewRequest entityViewRequest, EntityView entityView) Pre-process the createdEntityViewbefore any of the control or rendering methods are called.voidpreRender(EntityViewRequest entityViewRequest, EntityView entityView) Called afterdoControl(EntityViewRequest, EntityView, com.foreach.across.modules.entity.views.request.EntityViewCommand)but only if rendering is supposed to happen.voidrender(EntityViewRequest entityViewRequest, EntityView entityView)
-
Method Details
-
prepareEntityViewContext
Apply possible factory modifications to theConfigurableEntityViewContext. Call this method before creating anEntityViewRequestthat uses the context. This method is called first, beforeauthorizeRequest(EntityViewRequest)in the default view rendering.- Parameters:
entityViewContext- to modify
-
authorizeRequest
Verify theEntityViewRequestis valid for this factory. This usually means things like performing security checks and checking all individual properties are valid. Any invalid requests are expected to throw the most relevant exceptions. Called afterprepareEntityViewContext(ConfigurableEntityViewContext)but before initializing the command object.- Parameters:
entityViewRequest- request to validate
-
initializeCommandObject
void initializeCommandObject(EntityViewRequest entityViewRequest, EntityViewCommand command, org.springframework.web.bind.WebDataBinder dataBinder) Initialize theEntityViewCommandfor the given request. Optionally configure theWebDataBinderthat will be used to bind the command object.- Parameters:
entityViewRequest- requestcommand- objectdataBinder- to bind the web request to the command
-
preProcess
Pre-process the createdEntityViewbefore any of the control or rendering methods are called.- Parameters:
entityViewRequest- requestentityView- model and view
-
doControl
void doControl(EntityViewRequest entityViewRequest, EntityView entityView, EntityViewCommand command) Called afterpreProcess(EntityViewRequest, EntityView)but before any rendering.- Parameters:
entityViewRequest- requestentityView- model and viewcommand- object for the request
-
preRender
Called afterdoControl(EntityViewRequest, EntityView, com.foreach.across.modules.entity.views.request.EntityViewCommand)but only if rendering is supposed to happen.- Parameters:
entityViewRequest- requestentityView- model and view- See Also:
-
render
Called afterdoControl(EntityViewRequest, EntityView, com.foreach.across.modules.entity.views.request.EntityViewCommand).- Parameters:
entityViewRequest- requestentityView- model and view- See Also:
-
postRender
Called afterrender(EntityViewRequest, EntityView)but only if rendering happened.- Parameters:
entityViewRequest- requestentityView- model and view- See Also:
-
postProcess
Post-process the createdEntityViewafter control and render have completed. This method will always be called, even if render was skipped.- Parameters:
entityViewRequest- requestentityView- model and view
-