/* * Copyright (c) 2015. Bearchoke */ package com.bearchoke.platform.server.common.web.argumentresolver; import org.springframework.core.MethodParameter; import org.springframework.format.datetime.standard.DateTimeContextHolder; import org.springframework.web.bind.support.WebDataBinderFactory; import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.ModelAndViewContainer; import java.time.ZoneId; /** * Created by Bjorn Harvold * Date: 10/12/14 * Time: 1:28 PM * Responsibility: */ public class DateTimeZoneHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver { @Override public boolean supportsParameter(MethodParameter parameter) { return ZoneId.class.isAssignableFrom(parameter.getParameterType()); } @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer modelAndViewContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { return DateTimeContextHolder.getDateTimeContext().getTimeZone(); } }