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 **************************************************************************************************/