/* * File : $Source: /alkacon/cvs/alkacon/com.alkacon.opencms.formgenerator/src/com/alkacon/opencms/formgenerator/CmsFieldItem.java,v $ * Date : $Date: 2011/03/09 15:14:36 $ * Version: $Revision: 1.5 $ * * This file is part of the Alkacon OpenCms Add-On Module Package * * Copyright (c) 2010 Alkacon Software GmbH (http://www.alkacon.com) * * The Alkacon OpenCms Add-On Module Package is free software: * you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * The Alkacon OpenCms Add-On Module Package is distributed * in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with the Alkacon OpenCms Add-On Module Package. * If not, see http://www.gnu.org/licenses/. * * For further information about Alkacon Software GmbH, please see the * company website: http://www.alkacon.com. * * For further information about OpenCms, please see the * project website: http://www.opencms.org. */ package com.alkacon.opencms.formgenerator; import org.opencms.util.CmsStringUtil; /** * Represents a single input field item object.<p> * * This object is needed to create checkboxes, radio buttons, selectboxes and table fields * and represents an item for these types.<p> * * @author Andreas Zahner * * @version $Revision: 1.5 $ * * @since 7.0.4 */ public class CmsFieldItem { /** The label of the item in the database. */ private String m_dbLabel; /** A flag indicating if the item is selected. */ private boolean m_isSelected; /** The label of the item. */ private String m_label; /** The optional item name. */ private String m_name; /** The flag indicating if the items should be shown in one row. */ private boolean m_showInRow; /** The value of the item. */ private String m_value; /** * Empty constructor creates an empty field item.<p> */ public CmsFieldItem() { m_label = ""; m_value = ""; } /** * Constructor that creates an initialized field item.<p> * * @param value the value of the field item * @param label the label of the field item * @param isSelected true if the current item is selected, otherwise false * @param showInRow true if the items should be shown in a row, otherwise false */ public CmsFieldItem(String value, String label, boolean isSelected, boolean showInRow) { m_label = label; m_dbLabel = label; m_isSelected = isSelected; m_value = value; m_showInRow = showInRow; } /** * Constructor that creates an initialized field item.<p> * * @param value the value of the field item * @param label the label of the field item * @param dblabel if the label for the database (only use for {@link CmsTableField}) * @param isSelected true if the current item is selected, otherwise false * @param showInRow true if the items should be shown in a row, otherwise false */ public CmsFieldItem(String value, String label, String dblabel, boolean isSelected, boolean showInRow) { m_label = label; m_dbLabel = dblabel; m_isSelected = isSelected; m_value = value; m_showInRow = showInRow; } /** * Returns the dbLabel.<p> * * @return the dbLabel */ public String getDbLabel() { return m_dbLabel; } /** * Returns the label text of the field item.<p> * * @return the label text of the field item */ public String getLabel() { return m_label; } /** * Returns the optional name of the field item.<p> * * This is used by the special table field type {@link CmsTableField}.<p> * * @return the optional name of the field item */ public String getName() { return m_name; } /** * Returns the value of the field item.<p> * * @return the value of the field item */ public String getValue() { return m_value; } /** * Returns the escaped value of the field, or <code>null</code> if the value is empty.<p> * * This is necessary to avoid XSS or other exploits on the webform output pages.<p> * * @return the escaped value of the field */ public String getValueEscaped() { if (CmsStringUtil.isEmptyOrWhitespaceOnly(getValue())) { return null; } return CmsStringUtil.escapeHtml(getValue()); } /** * Returns if the current item is selected or not.<p> * * @return true if the current item is selected, otherwise false */ public boolean isSelected() { return m_isSelected; } /** * Returns if the items should be shown in a row.<p> * * @return true if the items should be shown in a row, otherwise false */ public boolean isShowInRow() { return m_showInRow; } /** * Sets the dbLabel.<p> * * @param dbLabel the dbLabel to set */ public void setDbLabel(String dbLabel) { m_dbLabel = dbLabel; } /** * Sets if the items should be shown in a row.<p> * * @param showInRow the flag indicating if the items should be shown in a row */ public void setShowInRow(boolean showInRow) { m_showInRow = showInRow; } /** * Sets the label text of the field item.<p> * * @param label the description text of the field item */ protected void setLabel(String label) { m_label = label; } /** * Sets the name of the field item.<p> * * @param name the name of the field item */ protected void setName(String name) { m_name = name; } /** * Sets if the current item is selected or not.<p> * * @param isSelected true if the current item is selected, otherwise false */ protected void setSelected(boolean isSelected) { m_isSelected = isSelected; } /** * Sets the value of the field item.<p> * * @param value the value of the field item */ protected void setValue(String value) { m_value = value; } }