T
- any class (of the model) that implements ShrEntity
or its descendant.public abstract class ShrController<T extends ShrEntity>
extends java.lang.Object
NavigatorNode
.
The latter will be then used by the view helper classes (SprHibRAD custom tag classes) for the rendering of the navigation bar.
In SprHibRAD the controller layer is kept at the default Spring configuration for efficiency, that is any controller object lives
as singleton: this is why the http session object comes into play providing status for user preferences and navigation stack.
The member of this class, indeed, are injected by Spring get their current value from the session object.
It was chosen to use the http session object through the classical api instead of the Spring directives (@Session etc..) because I have actually not understood their use.Modifier and Type | Class and Description |
---|---|
class |
ShrController.MViewAndObj |
class |
ShrController.NavigatorNode |
Modifier and Type | Field and Description |
---|---|
protected org.springframework.web.servlet.LocaleResolver |
localeResolver |
protected IShrService<UserPrefs> |
userPrefsService |
Constructor and Description |
---|
ShrController() |
Modifier and Type | Method and Description |
---|---|
protected void |
addDetailsAttribute(java.lang.String entitiesName,
IShrService detailService,
java.lang.String property,
T masterObject,
org.springframework.web.servlet.ModelAndView modelAndView,
javax.servlet.http.HttpServletRequest request,
java.lang.String orders,
java.lang.String orientations,
java.lang.String detailFkMember,
java.lang.String[] previewFields) |
protected void |
addEditingAttributes(org.springframework.web.servlet.ModelAndView modelAndView,
T obj) |
org.springframework.web.servlet.ModelAndView |
addObject(java.lang.String viewName,
java.lang.String entityName,
javax.servlet.http.HttpServletRequest request,
java.lang.String fk) |
protected void |
addToFilter(java.lang.String key,
java.lang.Object object,
javax.servlet.http.HttpServletRequest request) |
void |
appendOrderAttr(java.lang.String user,
java.lang.String key,
java.lang.String value) |
void |
appendOrientationAttr(java.lang.String user,
java.lang.String key,
java.lang.String value) |
ShrController.NavigatorNode |
backTrackAndPeekNode(javax.servlet.http.HttpServletRequest request) |
protected java.lang.String |
cancel(javax.servlet.http.HttpServletRequest request) |
void |
checkPasswords(T object,
org.springframework.validation.BindingResult result,
java.lang.String oldPwd,
java.lang.String currPwd,
java.lang.String pwd2,
javax.servlet.http.HttpServletRequest request) |
org.springframework.web.servlet.ModelAndView |
deleteBinary(java.lang.String op,
java.lang.String pp,
javax.servlet.http.HttpServletRequest request) |
java.lang.String |
deleteObject(java.lang.Integer id,
java.lang.String entityName,
javax.servlet.http.HttpServletRequest request) |
org.springframework.web.servlet.ModelAndView |
doUploadBinary(org.springframework.web.multipart.MultipartFile file,
java.lang.String op,
java.lang.String pp,
javax.servlet.http.HttpServletRequest request) |
ShrController.MViewAndObj |
editObject(java.io.Serializable id,
java.lang.String viewName,
java.lang.String entityName,
javax.servlet.http.HttpServletRequest request) |
org.springframework.web.servlet.ModelAndView |
exceptionHandler(java.lang.Exception exception) |
protected java.lang.String |
freezeObject(T object,
javax.servlet.http.HttpServletRequest request,
java.lang.String redir,
java.lang.String targetMember,
java.lang.String action) |
protected java.util.Locale.Builder |
getBuilder() |
DataSetClauses |
getClauses(java.lang.String user,
java.lang.String key) |
protected java.lang.String |
getEntitiesPropertyName() |
protected abstract T |
getEntityInstance() |
protected java.lang.String |
getEntityName() |
protected java.lang.String |
getEntityPropertyName() |
protected java.lang.String |
getEntityViewName() |
byte[] |
getImage(java.lang.String key,
java.lang.String ext) |
org.springframework.web.servlet.ModelAndView |
getList(com.sprhibrad.framework.controller.ShrController.ListParams listParams) |
org.springframework.web.servlet.ModelAndView |
getList(com.sprhibrad.framework.controller.ShrController.ListParams listParams,
java.lang.Integer pageSize) |
org.springframework.web.servlet.ModelAndView |
getList(com.sprhibrad.framework.controller.ShrController.ListParams listParams,
T searchEntity,
boolean forSelection,
org.springframework.validation.BindingResult result) |
org.springframework.web.servlet.ModelAndView |
getList(com.sprhibrad.framework.controller.ShrController.ListParams listParams,
T searchEntity,
java.lang.Integer pageSize,
java.lang.String listMode,
org.springframework.validation.BindingResult result) |
java.util.Stack<ShrController.NavigatorNode> |
getNavigator(javax.servlet.http.HttpServletRequest request) |
java.lang.Object |
getObjectFromNode(ShrController.NavigatorNode node) |
java.lang.Object |
getObjectFromNode(ShrController.NavigatorNode node,
java.lang.String objName) |
ShrEntity |
getParentObjectFromNavigator(javax.servlet.http.HttpServletRequest request,
java.lang.String entityName) |
java.util.HashMap<java.lang.String,com.sprhibrad.framework.controller.ShrController.ResultProperties> |
getResultsProperties(java.lang.String user) |
protected abstract IShrService<T> |
getService() |
protected java.lang.String |
getUser(javax.servlet.http.HttpServletRequest request) |
UserPreferences |
getUserPrefs(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
java.lang.String |
goBackWithEffects(javax.servlet.http.HttpServletRequest request,
java.lang.String entityName,
java.lang.String effect)
possible preparation of the target node will be sensed by the redirect that perfoms the selective scanning !?!
|
protected void |
initBinder(org.springframework.web.bind.WebDataBinder binder) |
ShrController.MViewAndObj |
loadObject(java.lang.Boolean forEdit,
java.io.Serializable id,
java.lang.String viewName,
java.lang.String entityName,
javax.servlet.http.HttpServletRequest request,
ShrEntity availableObject) |
protected ShrEntity |
manageNode(java.io.Serializable id,
javax.servlet.http.HttpServletRequest request,
java.lang.String entityName,
org.springframework.web.servlet.ModelAndView modelAndView,
boolean forEdit,
java.lang.Integer iteration,
java.lang.String listMode,
T searchEntity,
ShrEntity availableObject) |
protected ShrEntity |
manageNode(java.io.Serializable id,
javax.servlet.http.HttpServletRequest request,
java.lang.String entityName,
org.springframework.web.servlet.ModelAndView modelAndView,
boolean forEdit,
ShrEntity availableObject) |
protected org.springframework.web.servlet.ModelAndView |
objectList(java.lang.Integer iteration,
T object,
org.springframework.validation.BindingResult result,
javax.servlet.http.HttpServletRequest request,
java.lang.String[] imageFields) |
java.lang.String |
orderAttr(java.lang.String user,
java.lang.String key) |
java.lang.String |
orientationAttr(java.lang.String user,
java.lang.String key) |
ShrController.NavigatorNode |
peekNode(javax.servlet.http.HttpServletRequest request) |
ShrController.NavigatorNode |
peekNode(javax.servlet.http.HttpServletRequest request,
java.lang.Integer backStep) |
ShrController.NavigatorNode |
popNode(javax.servlet.http.HttpServletRequest request) |
ShrController.NavigatorNode |
prepareTopNode(javax.servlet.http.HttpServletRequest request,
java.lang.String entityName,
java.lang.String effect) |
void |
pushNode(ShrController.NavigatorNode node,
javax.servlet.http.HttpServletRequest request) |
void |
putObjectIntoNode(ShrController.NavigatorNode node,
ShrEntity object) |
void |
putObjectIntoNode(ShrController.NavigatorNode node,
java.lang.String objName,
java.lang.Object object) |
protected org.springframework.web.servlet.ModelAndView |
redirectMavByNode(ShrController.NavigatorNode node) |
protected org.springframework.web.servlet.ModelAndView |
redirectMavByNode(ShrController.NavigatorNode node,
boolean makeNodeObsolete) |
org.springframework.web.servlet.ModelAndView |
renewModelAndView(javax.servlet.http.HttpServletRequest request,
java.lang.String entityName,
java.lang.String effect,
T object) |
protected void |
reportHandler(java.util.Map<java.lang.String,java.lang.String> map,
java.util.HashMap<java.lang.String,java.lang.Object> params,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
protected com.sprhibrad.framework.controller.ShrController.ResultProperties |
resultProperties(java.lang.String user,
java.lang.String key) |
org.springframework.web.servlet.ModelAndView |
saveObject(T object,
java.lang.String entityName,
org.springframework.validation.BindingResult result,
javax.servlet.http.HttpServletRequest request) |
protected java.lang.String |
selectObject(java.lang.Integer id,
javax.servlet.http.HttpServletRequest request,
java.lang.String member) |
protected void |
setListFilter(T object,
javax.servlet.http.HttpServletRequest request) |
protected void |
setObjectMember(T object,
java.lang.Object sourceObject,
java.lang.String memberName) |
void |
setOrderAttr(java.lang.String user,
java.lang.String key,
java.lang.String value) |
void |
setOrientationAttr(java.lang.String user,
java.lang.String key,
java.lang.String value) |
void |
setUserPrefs(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
UserPrefs userPrefs) |
protected void |
shrInitBinder(org.springframework.web.bind.WebDataBinder binder) |
org.springframework.web.servlet.ModelAndView |
updateObject(T object,
java.lang.String entityName,
org.springframework.validation.BindingResult result,
javax.servlet.http.HttpServletRequest request) |
org.springframework.web.servlet.ModelAndView |
uploadBinary(T object,
java.lang.String op,
java.lang.String pp,
javax.servlet.http.HttpServletRequest request) |
protected boolean |
validate(T object,
org.springframework.validation.BindingResult result) |
java.lang.String |
viewBinary(java.lang.Integer id,
java.lang.String target,
javax.servlet.http.HttpServletRequest request,
boolean isImage) |
ShrController.MViewAndObj |
viewObject(java.io.Serializable id,
java.lang.String viewName,
java.lang.String entityName,
javax.servlet.http.HttpServletRequest request,
java.lang.String[] imageFields) |
@Autowired protected IShrService<UserPrefs> userPrefsService
@Autowired protected org.springframework.web.servlet.LocaleResolver localeResolver
public UserPreferences getUserPrefs(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
protected java.util.Locale.Builder getBuilder()
public void setUserPrefs(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UserPrefs userPrefs)
public java.util.HashMap<java.lang.String,com.sprhibrad.framework.controller.ShrController.ResultProperties> getResultsProperties(java.lang.String user)
public java.util.Stack<ShrController.NavigatorNode> getNavigator(javax.servlet.http.HttpServletRequest request)
public void pushNode(ShrController.NavigatorNode node, javax.servlet.http.HttpServletRequest request)
public ShrController.NavigatorNode popNode(javax.servlet.http.HttpServletRequest request)
public java.lang.Object getObjectFromNode(ShrController.NavigatorNode node)
public java.lang.Object getObjectFromNode(ShrController.NavigatorNode node, java.lang.String objName)
public void putObjectIntoNode(ShrController.NavigatorNode node, ShrEntity object)
public void putObjectIntoNode(ShrController.NavigatorNode node, java.lang.String objName, java.lang.Object object)
public ShrController.NavigatorNode backTrackAndPeekNode(javax.servlet.http.HttpServletRequest request)
public ShrEntity getParentObjectFromNavigator(javax.servlet.http.HttpServletRequest request, java.lang.String entityName)
protected abstract IShrService<T> getService()
protected abstract T getEntityInstance()
protected java.lang.String getEntityName()
protected java.lang.String getEntityPropertyName()
protected java.lang.String getEntitiesPropertyName()
protected java.lang.String getEntityViewName()
protected boolean validate(T object, org.springframework.validation.BindingResult result)
protected void setListFilter(T object, javax.servlet.http.HttpServletRequest request)
protected com.sprhibrad.framework.controller.ShrController.ResultProperties resultProperties(java.lang.String user, java.lang.String key)
public java.lang.String orderAttr(java.lang.String user, java.lang.String key)
public void setOrderAttr(java.lang.String user, java.lang.String key, java.lang.String value)
public void appendOrderAttr(java.lang.String user, java.lang.String key, java.lang.String value)
public java.lang.String orientationAttr(java.lang.String user, java.lang.String key)
public void setOrientationAttr(java.lang.String user, java.lang.String key, java.lang.String value)
public void appendOrientationAttr(java.lang.String user, java.lang.String key, java.lang.String value)
public DataSetClauses getClauses(java.lang.String user, java.lang.String key)
protected ShrEntity manageNode(java.io.Serializable id, javax.servlet.http.HttpServletRequest request, java.lang.String entityName, org.springframework.web.servlet.ModelAndView modelAndView, boolean forEdit, ShrEntity availableObject)
protected ShrEntity manageNode(java.io.Serializable id, javax.servlet.http.HttpServletRequest request, java.lang.String entityName, org.springframework.web.servlet.ModelAndView modelAndView, boolean forEdit, java.lang.Integer iteration, java.lang.String listMode, T searchEntity, ShrEntity availableObject)
public org.springframework.web.servlet.ModelAndView addObject(java.lang.String viewName, java.lang.String entityName, javax.servlet.http.HttpServletRequest request, java.lang.String fk)
protected java.lang.String freezeObject(T object, javax.servlet.http.HttpServletRequest request, java.lang.String redir, java.lang.String targetMember, java.lang.String action)
public ShrController.MViewAndObj editObject(java.io.Serializable id, java.lang.String viewName, java.lang.String entityName, javax.servlet.http.HttpServletRequest request)
public ShrController.MViewAndObj viewObject(java.io.Serializable id, java.lang.String viewName, java.lang.String entityName, javax.servlet.http.HttpServletRequest request, java.lang.String[] imageFields)
public ShrController.MViewAndObj loadObject(java.lang.Boolean forEdit, java.io.Serializable id, java.lang.String viewName, java.lang.String entityName, javax.servlet.http.HttpServletRequest request, ShrEntity availableObject)
protected java.lang.String getUser(javax.servlet.http.HttpServletRequest request)
protected void addDetailsAttribute(java.lang.String entitiesName, IShrService detailService, java.lang.String property, T masterObject, org.springframework.web.servlet.ModelAndView modelAndView, javax.servlet.http.HttpServletRequest request, java.lang.String orders, java.lang.String orientations, java.lang.String detailFkMember, java.lang.String[] previewFields)
protected org.springframework.web.servlet.ModelAndView redirectMavByNode(ShrController.NavigatorNode node)
protected org.springframework.web.servlet.ModelAndView redirectMavByNode(ShrController.NavigatorNode node, boolean makeNodeObsolete)
protected void addEditingAttributes(org.springframework.web.servlet.ModelAndView modelAndView, T obj)
public org.springframework.web.servlet.ModelAndView saveObject(T object, java.lang.String entityName, org.springframework.validation.BindingResult result, javax.servlet.http.HttpServletRequest request)
protected java.lang.String cancel(javax.servlet.http.HttpServletRequest request)
public org.springframework.web.servlet.ModelAndView updateObject(T object, java.lang.String entityName, org.springframework.validation.BindingResult result, javax.servlet.http.HttpServletRequest request)
public org.springframework.web.servlet.ModelAndView renewModelAndView(javax.servlet.http.HttpServletRequest request, java.lang.String entityName, java.lang.String effect, T object)
public java.lang.String deleteObject(java.lang.Integer id, java.lang.String entityName, javax.servlet.http.HttpServletRequest request)
public java.lang.String goBackWithEffects(javax.servlet.http.HttpServletRequest request, java.lang.String entityName, java.lang.String effect)
public ShrController.NavigatorNode prepareTopNode(javax.servlet.http.HttpServletRequest request, java.lang.String entityName, java.lang.String effect)
protected void setObjectMember(T object, java.lang.Object sourceObject, java.lang.String memberName)
protected org.springframework.web.servlet.ModelAndView objectList(java.lang.Integer iteration, T object, org.springframework.validation.BindingResult result, javax.servlet.http.HttpServletRequest request, java.lang.String[] imageFields)
public org.springframework.web.servlet.ModelAndView getList(com.sprhibrad.framework.controller.ShrController.ListParams listParams)
public org.springframework.web.servlet.ModelAndView getList(com.sprhibrad.framework.controller.ShrController.ListParams listParams, T searchEntity, boolean forSelection, org.springframework.validation.BindingResult result)
protected void addToFilter(java.lang.String key, java.lang.Object object, javax.servlet.http.HttpServletRequest request)
public org.springframework.web.servlet.ModelAndView getList(com.sprhibrad.framework.controller.ShrController.ListParams listParams, java.lang.Integer pageSize)
public org.springframework.web.servlet.ModelAndView getList(com.sprhibrad.framework.controller.ShrController.ListParams listParams, T searchEntity, java.lang.Integer pageSize, java.lang.String listMode, org.springframework.validation.BindingResult result)
public ShrController.NavigatorNode peekNode(javax.servlet.http.HttpServletRequest request)
public ShrController.NavigatorNode peekNode(javax.servlet.http.HttpServletRequest request, java.lang.Integer backStep)
protected java.lang.String selectObject(java.lang.Integer id, javax.servlet.http.HttpServletRequest request, java.lang.String member)
@ExceptionHandler public org.springframework.web.servlet.ModelAndView exceptionHandler(java.lang.Exception exception)
public byte[] getImage(java.lang.String key, java.lang.String ext)
public java.lang.String viewBinary(java.lang.Integer id, java.lang.String target, javax.servlet.http.HttpServletRequest request, boolean isImage)
public org.springframework.web.servlet.ModelAndView uploadBinary(T object, java.lang.String op, java.lang.String pp, javax.servlet.http.HttpServletRequest request)
public org.springframework.web.servlet.ModelAndView deleteBinary(java.lang.String op, java.lang.String pp, javax.servlet.http.HttpServletRequest request)
public org.springframework.web.servlet.ModelAndView doUploadBinary(org.springframework.web.multipart.MultipartFile file, java.lang.String op, java.lang.String pp, javax.servlet.http.HttpServletRequest request)
public void checkPasswords(T object, org.springframework.validation.BindingResult result, java.lang.String oldPwd, java.lang.String currPwd, java.lang.String pwd2, javax.servlet.http.HttpServletRequest request)
protected void reportHandler(java.util.Map<java.lang.String,java.lang.String> map, java.util.HashMap<java.lang.String,java.lang.Object> params, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
@InitBinder protected void initBinder(org.springframework.web.bind.WebDataBinder binder)
protected void shrInitBinder(org.springframework.web.bind.WebDataBinder binder)