1 23 24 package org.infoglue.deliver.taglib.content; 25 26 import java.util.ArrayList ; 27 import java.util.Collection ; 28 29 import javax.servlet.jsp.JspException ; 30 31 import org.infoglue.cms.util.sorters.ContentSort; 32 import org.infoglue.deliver.taglib.TemplateControllerTag; 33 34 public class ContentSortTag extends TemplateControllerTag { 35 38 private static final long serialVersionUID = 3257003254859576632L; 39 40 private ContentSort sorter; 41 private Collection input = new ArrayList (); 42 private String comparatorClass; 43 44 47 public ContentSortTag() 48 { 49 super(); 50 } 51 52 55 public int doStartTag() throws JspException 56 { 57 sorter = new ContentSort(getController(), input); 58 return EVAL_BODY_INCLUDE; 59 } 60 61 64 public void addContentProperty(final String name, final boolean ascending) 65 { 66 sorter.addContentProperty(name, ascending); 67 } 68 69 72 public void addContentVersionProperty(final String name, final boolean ascending) 73 { 74 sorter.addContentVersionProperty(name, ascending); 75 } 76 77 80 public void addContentVersionAttribute(final String name, final String className, final boolean ascending, final boolean caseSensitive) 81 { 82 sorter.addContentVersionAttribute(name, className, ascending, caseSensitive); 83 } 84 85 88 public int doEndTag() throws JspException 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 105 public void setInput(final String input) throws JspException 106 { 107 this.input = evaluateCollection("contentSort", "input", input); 108 } 109 110 113 114 public void setComparatorClass(String comparatorClass) 115 { 116 this.comparatorClass = comparatorClass; 117 } 118 119 } 120 | Popular Tags |