KickJava   Java API By Example, From Geeks To Geeks.

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


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.deliver.taglib.component.ComponentLogicTag;
29
30 public class RelatedPagesTag extends ComponentLogicTag {
31     private static final long serialVersionUID = 4050206323348354355L;
32
33     private Integer JavaDoc contentId;
34     private String JavaDoc propertyName;
35     private String JavaDoc attributeName;
36     private boolean useInheritance = true;
37     
38         
39     public RelatedPagesTag()
40     {
41         super();
42     }
43
44     public int doEndTag() throws JspException JavaDoc
45     {
46         if(contentId != null)
47         {
48             setResultAttribute(getController().getRelatedPages(contentId, attributeName));
49         }
50         else if(propertyName != null)
51         {
52             setResultAttribute(getComponentLogic().getRelatedPages(propertyName, attributeName));
53         }
54         else
55         {
56             throw new JspException JavaDoc("You must specify either contentId or attributeName");
57         }
58         
59         return EVAL_PAGE;
60     }
61
62     public void setPropertyName(String JavaDoc propertyName) throws JspException JavaDoc
63     {
64         this.propertyName = evaluateString("relatedPages", "propertyName", propertyName);
65     }
66     
67     public void setUseInheritence(boolean useInheritance)
68     {
69         this.useInheritance = useInheritance;
70     }
71     
72     public void setAttributeName(String JavaDoc attributeName)
73     {
74         this.attributeName = attributeName;
75     }
76     
77     public void setContentId(String JavaDoc contentId) throws JspException JavaDoc
78     {
79         this.contentId = evaluateInteger("RelatedPagesTag", "contentId", contentId);
80     }
81     
82     public void setUseInheritance(boolean useInheritance)
83     {
84         this.useInheritance = useInheritance;
85     }
86 }
87
Popular Tags