| 1 | |
package org.webslinger.resolver; |
| 2 | |
|
| 3 | |
import java.util.HashMap; |
| 4 | |
import java.util.Map; |
| 5 | |
import javax.servlet.http.Cookie; |
| 6 | |
import javax.servlet.http.HttpServletRequest; |
| 7 | |
import javax.servlet.http.HttpSession; |
| 8 | |
|
| 9 | |
public class HttpServletRequestResolver<T extends HttpServletRequest> extends ServletRequestResolver<T> { |
| 10 | |
protected HttpServletRequestResolver() { |
| 11 | 1 | super(); |
| 12 | |
|
| 13 | |
|
| 14 | 1 | addFetcher("auth-type", new BeanResolver.BeanGet<T, String>("auth-type", String.class) { |
| 15 | |
public String getValue(HttpServletRequest request) { |
| 16 | 0 | return request.getAuthType(); |
| 17 | |
} |
| 18 | |
}); |
| 19 | 1 | addFetcher("context-path", new BeanResolver.BeanGet<T, String>("context-path", String.class) { |
| 20 | |
public String getValue(HttpServletRequest request) { |
| 21 | 0 | return request.getContextPath(); |
| 22 | |
} |
| 23 | |
}); |
| 24 | 1 | addFetcher("cookies", new BeanResolver.BeanGet<T, Cookie[]>("cookies", Cookie[].class) { |
| 25 | |
public Cookie[] getValue(HttpServletRequest request) { |
| 26 | 0 | return request.getCookies(); |
| 27 | |
} |
| 28 | |
}); |
| 29 | 1 | addFetcher("method", new BeanResolver.BeanGet<T, String>("method", String.class) { |
| 30 | |
public String getValue(HttpServletRequest request) { |
| 31 | 0 | return request.getMethod(); |
| 32 | |
} |
| 33 | |
}); |
| 34 | 1 | addFetcher("path-info", new BeanResolver.BeanGet<T, String>("path-info", String.class) { |
| 35 | |
public String getValue(HttpServletRequest request) { |
| 36 | 0 | return request.getPathInfo(); |
| 37 | |
} |
| 38 | |
}); |
| 39 | 1 | addFetcher("path-translated", new BeanResolver.BeanGet<T, String>("path-translated", String.class) { |
| 40 | |
public String getValue(HttpServletRequest request) { |
| 41 | 0 | return request.getPathTranslated(); |
| 42 | |
} |
| 43 | |
}); |
| 44 | 1 | addFetcher("query-string", new BeanResolver.BeanGet<T, String>("query-string", String.class) { |
| 45 | |
public String getValue(HttpServletRequest request) { |
| 46 | 0 | return request.getQueryString(); |
| 47 | |
} |
| 48 | |
}); |
| 49 | 1 | addFetcher("remote-user", new BeanResolver.BeanGet<T, String>("remote-user", String.class) { |
| 50 | |
public String getValue(HttpServletRequest request) { |
| 51 | 0 | return request.getRemoteUser(); |
| 52 | |
} |
| 53 | |
}); |
| 54 | 1 | addFetcher("requested-session-id", new BeanResolver.BeanGet<T, String>("requested-session-id", String.class) { |
| 55 | |
public String getValue(HttpServletRequest request) { |
| 56 | 0 | return request.getRequestedSessionId(); |
| 57 | |
} |
| 58 | |
}); |
| 59 | 1 | addFetcher("request-url", new BeanResolver.BeanGet<T, String>("request-url", String.class) { |
| 60 | |
public String getValue(HttpServletRequest request) { |
| 61 | 0 | return request.getRequestURL().toString(); |
| 62 | |
} |
| 63 | |
}); |
| 64 | 1 | addFetcher("servlet-path", new BeanResolver.BeanGet<T, String>("servlet-path", String.class) { |
| 65 | |
public String getValue(HttpServletRequest request) { |
| 66 | 0 | return request.getServletPath(); |
| 67 | |
} |
| 68 | |
}); |
| 69 | 1 | addFetcher("session", new BeanResolver.BeanGet<T, HttpSession>("session", HttpSession.class) { |
| 70 | |
public HttpSession getValue(HttpServletRequest request) { |
| 71 | 0 | return request.getSession(); |
| 72 | |
} |
| 73 | |
}); |
| 74 | 1 | addFetcher("requested-session-id-from-cookie", new BeanResolver.BeanGet<T, Boolean>("requested-session-id-from-cookie", Boolean.class) { |
| 75 | |
public Boolean getValue(HttpServletRequest request) { |
| 76 | 0 | return request.isRequestedSessionIdFromCookie(); |
| 77 | |
} |
| 78 | |
}); |
| 79 | 1 | addFetcher("requested-session-id-from-url", new BeanResolver.BeanGet<T, Boolean>("requested-session-id-from-url", Boolean.class) { |
| 80 | |
public Boolean getValue(HttpServletRequest request) { |
| 81 | 0 | return request.isRequestedSessionIdFromURL(); |
| 82 | |
} |
| 83 | |
}); |
| 84 | 1 | addFetcher("requested-session-id-valid", new BeanResolver.BeanGet<T, Boolean>("requested-session-id-valid", Boolean.class) { |
| 85 | |
public Boolean getValue(HttpServletRequest request) { |
| 86 | 0 | return request.isRequestedSessionIdValid(); |
| 87 | |
} |
| 88 | |
}); |
| 89 | 1 | } |
| 90 | |
|
| 91 | 1 | public static final HttpServletRequestResolver<HttpServletRequest> RESOLVER = new HttpServletRequestResolver<HttpServletRequest>(); |
| 92 | |
|
| 93 | 2 | public static class HttpServletRequestResolverInfo implements ObjectResolverInfo<HttpServletRequest> { |
| 94 | |
public String getType() { |
| 95 | 1 | return "javax.servlet.http.HttpServletRequest"; |
| 96 | |
} |
| 97 | |
|
| 98 | |
public HttpServletRequestResolver<HttpServletRequest> getResolver() { |
| 99 | 1 | return RESOLVER; |
| 100 | |
} |
| 101 | |
} |
| 102 | |
} |