KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > core > tags > BrowserCheckTag


1 package com.sslexplorer.core.tags;
2
3 import javax.servlet.http.HttpServletRequest JavaDoc;
4 import javax.servlet.jsp.tagext.BodyTagSupport JavaDoc;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8
9 import com.sslexplorer.boot.Util;
10 import com.sslexplorer.core.BrowserChecker;
11
12 public class BrowserCheckTag extends BodyTagSupport JavaDoc {
13     
14     final static Log log = LogFactory.getLog(BrowserCheckTag.class);
15
16     private String JavaDoc browser;
17     private String JavaDoc version;
18     private boolean required = true;
19
20     public BrowserCheckTag() {
21         super();
22     }
23
24     public int doStartTag() {
25         BrowserChecker checker = new BrowserChecker(((HttpServletRequest JavaDoc)pageContext.getRequest()).getHeader("user-agent"));
26         boolean ok = checker.isBrowserVersionExpression(browser, Util.isNullOrTrimmedBlank(version) ? "*" : version);
27         return ok ? (required ? EVAL_BODY_INCLUDE : SKIP_BODY ) : (required ? SKIP_BODY : EVAL_BODY_INCLUDE );
28     }
29
30     public void setVersion(String JavaDoc version) {
31         this.version = version;
32     }
33
34     public void setRequired(boolean required) {
35         this.required = required;
36     }
37     
38     public void setBrowser(String JavaDoc browser) {
39         this.browser = browser;
40     }
41
42     public void release() {
43         super.release();
44         version = null;
45         browser = null;
46         required = true;
47     }
48
49 }
50
Popular Tags