KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > deliver > taglib > content > ContentSortTag


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.content;
25
26 import java.util.ArrayList JavaDoc;
27 import java.util.Collection JavaDoc;
28
29 import javax.servlet.jsp.JspException JavaDoc;
30
31 import org.infoglue.cms.util.sorters.ContentSort;
32 import org.infoglue.deliver.taglib.TemplateControllerTag;
33
34 public class ContentSortTag extends TemplateControllerTag {
35     /**
36      *
37      */

38     private static final long serialVersionUID = 3257003254859576632L;
39
40     private ContentSort sorter;
41     private Collection JavaDoc input = new ArrayList JavaDoc();
42     private String JavaDoc comparatorClass;
43
44     /**
45      *
46      */

47     public ContentSortTag()
48     {
49         super();
50     }
51
52     /**
53      *
54      */

55     public int doStartTag() throws JspException JavaDoc
56     {
57         sorter = new ContentSort(getController(), input);
58         return EVAL_BODY_INCLUDE;
59     }
60     
61     /**
62      *
63      */

64     public void addContentProperty(final String JavaDoc name, final boolean ascending)
65     {
66         sorter.addContentProperty(name, ascending);
67     }
68     
69     /**
70      *
71      */

72     public void addContentVersionProperty(final String JavaDoc name, final boolean ascending)
73     {
74         sorter.addContentVersionProperty(name, ascending);
75     }
76     
77     /**
78      *
79      */

80     public void addContentVersionAttribute(final String JavaDoc name, final String JavaDoc className, final boolean ascending, final boolean caseSensitive)
81     {
82         sorter.addContentVersionAttribute(name, className, ascending, caseSensitive);
83     }
84     
85     /**
86      *
87      */

88     public int doEndTag() throws JspException JavaDoc
89     {
90         if(comparatorClass!=null && !comparatorClass.equals(""))
91         {
92             produceResult(sorter.getContentResult(comparatorClass));
93         }
94         else
95         {
96             produceResult(sorter.getContentResult());
97         }
98
99         return EVAL_PAGE;
100     }
101     
102     /**
103      *
104      */

105     public void setInput(final String JavaDoc input) throws JspException JavaDoc
106     {
107         this.input = evaluateCollection("contentSort", "input", input);
108     }
109     
110     /**
111      * @param comparatorClass the comparatorClass to set
112      */

113     
114     public void setComparatorClass(String JavaDoc comparatorClass)
115     {
116         this.comparatorClass = comparatorClass;
117     }
118
119 }
120
Popular Tags