001: /*
002: * Copyright (c) 2001 - 2005 ivata limited.
003: * All rights reserved.
004: * -----------------------------------------------------------------------------
005: * ivata masks may be redistributed under the GNU General Public
006: * License as published by the Free Software Foundation;
007: * version 2 of the License.
008: *
009: * These programs are free software; you can redistribute them and/or
010: * modify them under the terms of the GNU General Public License
011: * as published by the Free Software Foundation; version 2 of the License.
012: *
013: * These programs are distributed in the hope that they will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: *
017: * See the GNU General Public License in the file LICENSE.txt for more
018: * details.
019: *
020: * If you would like a copy of the GNU General Public License write to
021: *
022: * Free Software Foundation, Inc.
023: * 59 Temple Place - Suite 330
024: * Boston, MA 02111-1307, USA.
025: *
026: *
027: * To arrange commercial support and licensing, contact ivata at
028: * http://www.ivata.com/contact.jsp
029: * -----------------------------------------------------------------------------
030: * $Log: ListForm.java,v $
031: * Revision 1.8 2005/10/03 10:17:25 colinmacleod
032: * Fixed some style and javadoc issues.
033: *
034: * Revision 1.7 2005/10/02 14:06:34 colinmacleod
035: * Added/improved log4j logging.
036: *
037: * Revision 1.6 2005/09/14 13:23:58 colinmacleod
038: * Added serialVersionUID.
039: *
040: * Revision 1.5 2005/04/09 18:04:18 colinmacleod
041: * Changed copyright text to GPL v2 explicitly.
042: *
043: * Revision 1.4 2005/01/07 08:08:24 colinmacleod
044: * Moved up a version number.
045: * Changed copyright notices to 2005.
046: * Updated the documentation:
047: * - started working on multiproject:site docu.
048: * - changed the logo.
049: * Added checkstyle and fixed LOADS of style issues.
050: * Added separate thirdparty subproject.
051: * Added struts (in web), util and webgui (in webtheme) from ivata op.
052: *
053: * Revision 1.3 2004/12/26 13:24:45 colinmacleod
054: * Removed SSLEXT dependency.
055: *
056: * Revision 1.2 2004/12/23 21:28:32 colinmacleod
057: * Modifications to add ivata op compatibility.
058: *
059: * Revision 1.1.1.1 2004/05/16 20:40:32 colinmacleod
060: * Ready for 0.1 release
061: * -----------------------------------------------------------------------------
062: */
063: package com.ivata.mask.web.struts;
064:
065: import org.apache.log4j.Logger;
066:
067: import java.util.List;
068: import com.ivata.mask.Mask;
069:
070: /**
071: * <p>
072: * This form references a list of value objects to be displayed.
073: * </p>
074: *
075: * @author Colin MacLeod
076: * <a href='mailto:colin.macleod@ivata.com'>colin.macleod@ivata.com</a>
077: * @since ivata masks 0.1 (2004-05-09)
078: * @version $Revision: 1.8 $
079: */
080: public class ListForm extends MaskForm {
081: /**
082: * Logger for this class.
083: */
084: private static final Logger logger = Logger
085: .getLogger(ListForm.class);
086:
087: /**
088: * Serialization version (for <code>Serializable</code> interface).
089: */
090: private static final long serialVersionUID = 1L;
091: /**
092: * <p>
093: * Request attribute under which name this form is stored.
094: * </p>
095: */
096: public static final String REQUEST_ATTRIBUTE = "ListForm";
097: /**
098: * <p>
099: * Contains all value objects to be displayed.
100: * </p>
101: */
102: private List valueObjects;
103:
104: /**
105: * <p>
106: * Create a new mask form for the given value object list and base class.
107: * </p>
108: *
109: * @param valueObjectsParam
110: * all value objects to be displayed.
111: * @param maskParam
112: * <copyDoc>Refer to {@link MaskForm#MaskForm}.</copyDoc>
113: * @param baseClassParam
114: * <copyDoc>Refer to {@link MaskForm#MaskForm}.</copyDoc>
115: */
116: public ListForm(final List valueObjectsParam, final Mask maskParam,
117: final Class baseClassParam) {
118: super (maskParam, baseClassParam);
119: this .valueObjects = valueObjectsParam;
120: }
121:
122: /**
123: * <p>
124: * Clear all bean properties to their default state.The difference between
125: * this and <code>reset</code> is that all properties are changed,
126: * regardless of current request state.
127: * </p>
128: *
129: * @see com.ivata.mask.web.struts.MaskForm#clear()
130: */
131: protected void clear() {
132: if (logger.isDebugEnabled()) {
133: logger.debug("clear() - start");
134: }
135:
136: if (this .valueObjects != null) {
137: this .valueObjects.clear();
138: }
139:
140: if (logger.isDebugEnabled()) {
141: logger.debug("clear() - end");
142: }
143: }
144:
145: /**
146: * <p>
147: * Contains all value objects to be displayed.
148: * </p>
149: *
150: * @return all value objects to be displayed.
151: */
152: public final List getValueObjects() {
153: if (logger.isDebugEnabled()) {
154: logger.debug("getValueObjects() - start");
155: }
156:
157: if (logger.isDebugEnabled()) {
158: logger.debug("getValueObjects() - end - return value = "
159: + valueObjects);
160: }
161: return valueObjects;
162: }
163:
164: /**
165: * <p>
166: * Contains all value objects to be displayed.
167: * </p>
168: *
169: * @param valueObjectsParam
170: * all value objects to be displayed.
171: */
172: public final void setValueObjects(final List valueObjectsParam) {
173: if (logger.isDebugEnabled()) {
174: logger.debug("setValueObjects(List valueObjectsParam = "
175: + valueObjectsParam + ") - start");
176: }
177:
178: valueObjects = valueObjectsParam;
179:
180: if (logger.isDebugEnabled()) {
181: logger.debug("setValueObjects(List) - end");
182: }
183: }
184: }
|