KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > deliver > taglib > structure > SiteNodeTag


1 /* ===============================================================================
2 *
3 * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4 *
5 * ===============================================================================
6 *
7 * Copyright (C)
8 *
9 * This program is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU General Public License version 2, as published by the
11 * Free Software Foundation. See the file LICENSE.html for more information.
12 *
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19 * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20 *
21 * ===============================================================================
22 */

23
24 package org.infoglue.deliver.taglib.structure;
25
26 import javax.servlet.jsp.JspException JavaDoc;
27
28 import org.infoglue.cms.entities.structure.SiteNodeVO;
29 import org.infoglue.deliver.taglib.component.ComponentLogicTag;
30
31 public class SiteNodeTag extends ComponentLogicTag
32 {
33     private static final long serialVersionUID = 3258135773294113587L;
34
35     private Integer JavaDoc siteNodeId;
36     private Integer JavaDoc targetSiteNodeId;
37     private String JavaDoc propertyName;
38     private boolean useInheritance = true;
39     
40     public SiteNodeTag()
41     {
42         super();
43     }
44     
45     public int doEndTag() throws JspException JavaDoc
46     {
47         produceResult(getSiteNode());
48         return EVAL_PAGE;
49     }
50
51     private SiteNodeVO getSiteNode() throws JspException JavaDoc
52     {
53         if(this.siteNodeId != null)
54             return this.getController().getSiteNode(this.siteNodeId);
55         else if(this.propertyName != null)
56             if(this.targetSiteNodeId != null)
57                 return this.getComponentLogic().getBoundSiteNode(targetSiteNodeId, propertyName, useInheritance);
58             else
59                 return this.getComponentLogic().getBoundSiteNode(propertyName, useInheritance);
60         else if(this.getController().getSiteNodeId() != null && this.getController().getSiteNodeId().intValue() > -1)
61             return this.getController().getSiteNode();
62         else
63             return null;
64     }
65     
66     public void setSiteNodeId(Integer JavaDoc siteNodeId)
67     {
68         this.siteNodeId = siteNodeId;
69     }
70
71     public void setPropertyName(String JavaDoc propertyName) throws JspException JavaDoc
72     {
73         this.propertyName = evaluateString("siteNode", "propertyName", propertyName);
74     }
75
76     public void setUseInheritance(boolean useInheritance)
77     {
78         this.useInheritance = useInheritance;
79     }
80     
81     public void setTargetSiteNodeId(String JavaDoc targetSiteNodeId) throws JspException JavaDoc
82     {
83         this.targetSiteNodeId = evaluateInteger("siteNode", "targetSiteNodeId", targetSiteNodeId);
84     }
85
86 }
Popular Tags