001 /***************************************************************************** 002 * MODULE DESCRIPTION 003 ****************************************************************************** 004 * 005 * NAME: HtmlCheckColumn.java 006 * LANGUAGE: Java 2 007 * DATE: 11.02.2002 008 * AUTHOR: Miika Nurminen, University of Jyväskylä (JYU) 009 * 010 ****************************************************************************** 011 * COPYRIGHT (C) Kiuru group 012 * Limited rights granted. Please refer to license 013 *****************************************************************************/ 014 015 /***************************************************************************** 016 * UPDATES 017 ****************************************************************************** 018 * 019 * 11.2.2003 / mn 020 * - Initial version 021 * 022 ******************************************************************************/ 023 package kiurubeans; 024 import kotkabeans.RS2; 025 026 /** 027 * Abstraction of HTML table column with checkbox 028 */ 029 public class HtmlCheckColumn extends HtmlColumn { 030 031 /** Holds value of property name. */ 032 private String name; 033 034 /** Predicate that determines if the checkbox is checked*/ 035 private Predicate checkPredicate; 036 037 /** Creates a new instance of HtmlCheckColumn - dummy empty constructor */ 038 public HtmlCheckColumn() { 039 } 040 041 /** Creates a new instance of HtmlCheckColumn 042 * @param title title to be shown in th 043 * @param field field name of related db row 044 * @param name name attribute of the checkbox 045 */ 046 public HtmlCheckColumn(String field,String title,String name) { 047 super(field,title); 048 setName(name); 049 } 050 051 /** Creates a new instance of HtmlCheckColumn 052 * @param field related db column 053 * @param title title to be shown in th 054 * @param name name attribute of the checkbox 055 */ 056 public HtmlCheckColumn(Field field,String title,String name) { 057 super(field,title); 058 setName(name); 059 } 060 061 /** Creates a new instance of HtmlCheckColumn 062 * @param field related db column 063 * @param title title to be shown in th 064 * @param name name attribute of the checkbox 065 * @param checkPredicate predicate to determine whether the checkbox is checked 066 */ 067 public HtmlCheckColumn(Field field,String title,String name,Predicate checkPredicate) { 068 super(field,title); 069 setName(name); 070 this.checkPredicate = checkPredicate; 071 } 072 073 /** Getter for property name. 074 * @return Value of property name. 075 */ 076 public String getName() { 077 return this.name; 078 } 079 080 /** Setter for property name. 081 * @param name New value of property name. 082 */ 083 public void setName(String name) { 084 this.name = name; 085 } 086 087 /** 088 * Returns current table cell data as string 089 * 090 * @return data to be put in <td></td> 091 * @param rs RS2 where data is retrieved 092 */ 093 public String getCellData(RS2 rs) { 094 StringBuffer result = new StringBuffer(30); 095 String s = getFieldValue(rs); 096 result.append("<input type=\"checkbox\" name=\""+getName()+"\" value=\""+s+"\""); 097 if ( (this.checkPredicate!=null) && (this.checkPredicate.test(s)) ) 098 result.append(" checked=\"checked\""); 099 result.append(" />"); 100 return result.toString(); 101 } 102 103 } 104 /*************************************************************************************************** 105 * COPYRIGHT (C) KIURU -PROJECT GROUP 106 * Limited rights granted. Please refer to license. 107 **************************************************************************************************/