Class DefaultPreviewDateWebRequestResolver
- java.lang.Object
-
- com.broadleafcommerce.data.tracking.core.preview.context.DefaultPreviewDateWebRequestResolver
-
- All Implemented Interfaces:
PreviewDateWebRequestResolver
public class DefaultPreviewDateWebRequestResolver extends Object implements PreviewDateWebRequestResolver
The default implementation ofPreviewDateWebRequestResolver
that resolves a preview dateInstant
from aNativeWebRequest
when there is aPreviewToken
present.This resolver will look for a header named
getHeaderName()
or a request parameter namedgetParameterName()
to detect a preview dateString
. If a date-string is found, it will useInstant.parse(CharSequence)
to construct anInstant
from the value. If successful, and thePreviewToken
is found, it will return theInstant
.If this resolver either fails to detect a preview date, or fails to parse a found date-string, then it will return
null
.- Author:
- Nick Crum (ncrum)
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_HEADER_NAME
static String
DEFAULT_PARAMETER_NAME
-
Constructor Summary
Constructors Constructor Description DefaultPreviewDateWebRequestResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
getHeaderName()
protected String
getParameterName()
protected String
parseRequestHeader(org.springframework.web.context.request.NativeWebRequest webRequest)
protected String
parseRequestParameter(org.springframework.web.context.request.NativeWebRequest webRequest)
Instant
resolve(org.springframework.web.context.request.NativeWebRequest webRequest)
Attempts to resolve a preview date for the provided request and preview token.void
setHeaderName(String headerName)
void
setParameterName(String parameterName)
-
-
-
Field Detail
-
DEFAULT_HEADER_NAME
public static final String DEFAULT_HEADER_NAME
- See Also:
- Constant Field Values
-
DEFAULT_PARAMETER_NAME
public static final String DEFAULT_PARAMETER_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
resolve
public Instant resolve(org.springframework.web.context.request.NativeWebRequest webRequest)
Description copied from interface:PreviewDateWebRequestResolver
Attempts to resolve a preview date for the provided request and preview token.If no preview date is found this method is expected to return
null
.- Specified by:
resolve
in interfacePreviewDateWebRequestResolver
- Parameters:
webRequest
- the current web request- Returns:
- a preview date
Instant
ornull
-
parseRequestHeader
protected String parseRequestHeader(org.springframework.web.context.request.NativeWebRequest webRequest)
-
parseRequestParameter
protected String parseRequestParameter(org.springframework.web.context.request.NativeWebRequest webRequest)
-
getHeaderName
protected String getHeaderName()
-
setHeaderName
public void setHeaderName(String headerName)
-
getParameterName
protected String getParameterName()
-
setParameterName
public void setParameterName(String parameterName)
-
-