KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > improve > struts > taglib > layout > PolicyTag


1 package fr.improve.struts.taglib.layout;
2
3 import javax.servlet.jsp.JspException JavaDoc;
4 import javax.servlet.jsp.tagext.TagSupport JavaDoc;
5
6 import org.apache.struts.taglib.html.Constants;
7
8 import fr.improve.struts.taglib.layout.policy.AbstractPolicy;
9 import fr.improve.struts.taglib.layout.util.LayoutUtils;
10
11 /**
12  * Evaluate the body of the tag in function of the policy.
13  *
14  * @author jer80876
15  */

16 public class PolicyTag extends TagSupport JavaDoc {
17     private String JavaDoc property;
18     private String JavaDoc policy;
19
20     /**
21      * @see javax.servlet.jsp.tagext.Tag#doStartTag()
22      */

23     public int doStartTag() throws JspException JavaDoc {
24         AbstractPolicy lc_policy = LayoutUtils.getSkin(pageContext.getSession()).getPolicy();
25         short lc_mode = lc_policy.getAuthorizedDisplayMode(policy, Constants.BEAN_KEY, property, pageContext);
26
27         if (lc_mode==AbstractPolicy.MODE_EDIT) {
28             return EVAL_BODY_INCLUDE;
29         } else {
30             return SKIP_BODY;
31         }
32     }
33
34     /**
35      * @see javax.servlet.jsp.tagext.Tag#release()
36      */

37     public void release() {
38         super.release();
39         property = null;
40         policy = null;
41     }
42
43     /**
44      * Sets the policy.
45      * @param policy The policy to set
46      */

47     public void setPolicy(String JavaDoc policy) {
48         this.policy = policy;
49     }
50
51     /**
52      * Sets the property.
53      * @param property The property to set
54      */

55     public void setProperty(String JavaDoc property) {
56         this.property = property;
57     }
58
59 }
60
Popular Tags