类 AbstractRedirectModelManager
java.lang.Object
cn.taketoday.web.view.AbstractRedirectModelManager
- 所有已实现的接口:
RedirectModelManager
- 直接已知子类:
SessionRedirectModelManager
A base class for
RedirectModelManager implementations.- 从以下版本开始:
- 4.0 2022/2/7 15:36
- 作者:
- Rossen Stoyanchev, Juergen Hoeller, Sam Brannen, Harry Yang
-
字段概要
字段从接口继承的字段 cn.taketoday.web.view.RedirectModelManager
BEAN_NAME -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明private StringdecodeAndNormalizePath(String path, RequestContext request) private List<RedirectModel>getExpired(List<RedirectModel> allMaps) Return a list of expired RedirectModel instances contained in the given list.private RedirectModelgetMatchingRedirectModel(List<RedirectModel> allMaps, RequestContext request) Return a RedirectModel contained in the given list that matches the request.protected ObjectgetRedirectModelMutex(RequestContext request) Obtain a mutex for modifying the RedirectModel List as handled byretrieveRedirectModel(cn.taketoday.web.RequestContext)andupdateRedirectModel(java.util.List<cn.taketoday.web.view.RedirectModel>, cn.taketoday.web.RequestContext),intReturn the amount of time in seconds before a RedirectModel expires.protected booleanisRedirectModelForRequest(RedirectModel model, RequestContext request) Whether the given RedirectModel matches the current request.retrieveAndUpdate(RequestContext context) Find a RedirectModel saved by a previous request that matches to the current request, remove it from underlying storage, and also remove other expired RedirectModel instances.protected abstract List<RedirectModel>retrieveRedirectModel(RequestContext request) Retrieve saved RedirectModel instances from the underlying storage.voidsaveRedirectModel(RequestContext context, RedirectModel redirectModel) Set aRedirectModelto current request contextvoidsetRedirectModelTimeout(int redirectModelTimeout) Set the amount of time in seconds after aRedirectModelis saved (at request completion) and before it expires.protected abstract voidupdateRedirectModel(List<RedirectModel> redirectModels, RequestContext request) Update the RedirectModel instances in the underlying storage.
-
字段详细资料
-
DEFAULT_FLASH_MAPS_MUTEX
-
logger
protected final cn.taketoday.logging.Logger logger -
redirectModelTimeout
private int redirectModelTimeout
-
-
构造器详细资料
-
AbstractRedirectModelManager
public AbstractRedirectModelManager()
-
-
方法详细资料
-
setRedirectModelTimeout
public void setRedirectModelTimeout(int redirectModelTimeout) Set the amount of time in seconds after aRedirectModelis saved (at request completion) and before it expires.The default value is 180 seconds.
-
getRedirectModelTimeout
public int getRedirectModelTimeout()Return the amount of time in seconds before a RedirectModel expires. -
retrieveAndUpdate
从接口复制的说明:RedirectModelManagerFind a RedirectModel saved by a previous request that matches to the current request, remove it from underlying storage, and also remove other expired RedirectModel instances.This method is invoked in the beginning of every request in contrast to
RedirectModelManager.saveRedirectModel(cn.taketoday.web.RequestContext, cn.taketoday.web.view.RedirectModel), which is invoked only when there are flash attributes to be saved - i.e. before a redirect.- 指定者:
retrieveAndUpdate在接口中RedirectModelManager- 参数:
context- Current request context- 返回:
- a RedirectModel matching the current request or
null
-
getExpired
Return a list of expired RedirectModel instances contained in the given list. -
getMatchingRedirectModel
@Nullable private RedirectModel getMatchingRedirectModel(List<RedirectModel> allMaps, RequestContext request) Return a RedirectModel contained in the given list that matches the request.- 返回:
- a matching RedirectModel or
null
-
isRedirectModelForRequest
Whether the given RedirectModel matches the current request. Uses the expected request path and query parameters saved in the RedirectModel. -
getOriginatingRequestParams
private cn.taketoday.util.MultiValueMap<String,String> getOriginatingRequestParams(RequestContext request) -
saveRedirectModel
从接口复制的说明:RedirectModelManagerSet aRedirectModelto current request context- 指定者:
saveRedirectModel在接口中RedirectModelManager- 参数:
context- current request contextredirectModel- value
-
decodeAndNormalizePath
-
retrieveRedirectModel
Retrieve saved RedirectModel instances from the underlying storage.- 参数:
request- the current request- 返回:
- a List with RedirectModel instances, or
nullif none found
-
updateRedirectModel
protected abstract void updateRedirectModel(List<RedirectModel> redirectModels, RequestContext request) Update the RedirectModel instances in the underlying storage.- 参数:
redirectModels- a (potentially empty) list of RedirectModel instances to saverequest- the current request
-
getRedirectModelMutex
Obtain a mutex for modifying the RedirectModel List as handled byretrieveRedirectModel(cn.taketoday.web.RequestContext)andupdateRedirectModel(java.util.List<cn.taketoday.web.view.RedirectModel>, cn.taketoday.web.RequestContext),The default implementation returns a shared static mutex. Subclasses are encouraged to return a more specific mutex, or
nullto indicate that no synchronization is necessary.- 参数:
request- the current request- 返回:
- the mutex to use (may be
nullif none applicable)
-