/*
* $Id: TestBean.java 471754 2006-11-06 14:55:09Z husted $
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.struts.webapp.exercise;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.LabelValueBean;
/**
* General purpose test bean for Struts custom tag tests.
*
* @version $Rev: 471754 $ $Date: 2006-11-06 15:55:09 +0100 (Mon, 06 Nov 2006) $
*/
public class TestBean extends ActionForm {
// ------------------------------------------------------------- Properties
/**
* A collection property where the elements of the collection are
* of type <code>LabelValueBean</code>.
*/
private Collection beanCollection = null;
public Collection getBeanCollection() {
if (beanCollection == null) {
Vector entries = new Vector(10);
entries.add(new LabelValueBean("Label 0", "Value 0"));
entries.add(new LabelValueBean("Label 1", "Value 1"));
entries.add(new LabelValueBean("Label 2", "Value 2"));
entries.add(new LabelValueBean("Label 3", "Value 3"));
entries.add(new LabelValueBean("Label 4", "Value 4"));
entries.add(new LabelValueBean("Label 5", "Value 5"));
entries.add(new LabelValueBean("Label 6", "Value 6"));
entries.add(new LabelValueBean("Label 7", "Value 7"));
entries.add(new LabelValueBean("Label 8", "Value 8"));
entries.add(new LabelValueBean("Label 9", "Value 9"));
beanCollection = entries;
}
return (beanCollection);
}
public void setBeanCollection(Collection beanCollection) {
this.beanCollection = beanCollection;
}
/**
* A multiple-String SELECT element using a bean collection.
*/
private String[] beanCollectionSelect = { "Value 1", "Value 3",
"Value 5" };
public String[] getBeanCollectionSelect() {
return (this.beanCollectionSelect);
}
public void setBeanCollectionSelect(String beanCollectionSelect[]) {
this.beanCollectionSelect = beanCollectionSelect;
}
/**
* A boolean property whose initial value is true.
*/
private boolean booleanProperty = true;
public boolean getBooleanProperty() {
return (booleanProperty);
}
public void setBooleanProperty(boolean booleanProperty) {
this.booleanProperty = booleanProperty;
}
/**
* A multiple-String SELECT element using a collection.
*/
private String[] collectionSelect = { "Value 2", "Value 4",
"Value 6" };
public String[] getCollectionSelect() {
return (this.collectionSelect);
}
public void setCollectionSelect(String collectionSelect[]) {
this.collectionSelect = collectionSelect;
}
/**
* A double property.
*/
private double doubleProperty = 321.0;
public double getDoubleProperty() {
return (this.doubleProperty);
}
public void setDoubleProperty(double doubleProperty) {
this.doubleProperty = doubleProperty;
}
/**
* A boolean property whose initial value is false
*/
private boolean falseProperty = false;
public boolean getFalseProperty() {
return (falseProperty);
}
public void setFalseProperty(boolean falseProperty) {
this.falseProperty = falseProperty;
}
/**
* A float property.
*/
private float floatProperty = (float) 123.0;
public float getFloatProperty() {
return (this.floatProperty);
}
public void setFloatProperty(float floatProperty) {
this.floatProperty = floatProperty;
}
/**
* Integer arrays that are accessed as an array as well as indexed.
*/
private int intArray[] = { 0, 10, 20, 30, 40 };
public int[] getIntArray() {
return (this.intArray);
}
public void setIntArray(int intArray[]) {
this.intArray = intArray;
}
private int intIndexed[] = { 0, 10, 20, 30, 40 };
public int getIntIndexed(int index) {
return (intIndexed[index]);
}
public void setIntIndexed(int index, int value) {
intIndexed[index] = value;
}
private int intMultibox[] = new int[0];
public int[] getIntMultibox() {
return (this.intMultibox);
}
public void setIntMultibox(int intMultibox[]) {
this.intMultibox = intMultibox;
}
/**
* An integer property.
*/
private int intProperty = 123;
public int getIntProperty() {
return (this.intProperty);
}
public void setIntProperty(int intProperty) {
this.intProperty = intProperty;
}
/**
* A long property.
*/
private long longProperty = 321;
public long getLongProperty() {
return (this.longProperty);
}
public void setLongProperty(long longProperty) {
this.longProperty = longProperty;
}
/**
* A multiple-String SELECT element.
*/
private String[] multipleSelect = { "Multiple 3", "Multiple 5",
"Multiple 7" };
public String[] getMultipleSelect() {
return (this.multipleSelect);
}
public void setMultipleSelect(String multipleSelect[]) {
this.multipleSelect = multipleSelect;
}
/**
* A nested reference to another test bean (populated as needed).
*/
private TestBean nested = null;
public TestBean getNested() {
if (nested == null)
nested = new TestBean();
return (nested);
}
/**
* A String property with an initial value of null.
*/
private String nullProperty = null;
public String getNullProperty() {
return (this.nullProperty);
}
public void setNullProperty(String nullProperty) {
this.nullProperty = nullProperty;
}
/**
* A short property.
*/
private short shortProperty = (short) 987;
public short getShortProperty() {
return (this.shortProperty);
}
public void setShortProperty(short shortProperty) {
this.shortProperty = shortProperty;
}
/**
* A single-String value for a SELECT element.
*/
private String singleSelect = "Single 5";
public String getSingleSelect() {
return (this.singleSelect);
}
public void setSingleSelect(String singleSelect) {
this.singleSelect = singleSelect;
}
/**
* String arrays that are accessed as an array as well as indexed.
*/
private String stringArray[] =
{ "String 0", "String 1", "String 2", "String 3", "String 4" };
public String[] getStringArray() {
return (this.stringArray);
}
public void setStringArray(String stringArray[]) {
this.stringArray = stringArray;
}
private String stringIndexed[] =
{ "String 0", "String 1", "String 2", "String 3", "String 4" };
public String getStringIndexed(int index) {
return (stringIndexed[index]);
}
public void setStringIndexed(int index, String value) {
stringIndexed[index] = value;
}
private String stringMultibox[] = new String[0];
public String[] getStringMultibox() {
return (this.stringMultibox);
}
public void setStringMultibox(String stringMultibox[]) {
this.stringMultibox = stringMultibox;
}
/**
* A String property.
*/
private String stringProperty = "This is a string";
public String getStringProperty() {
return (this.stringProperty);
}
public void setStringProperty(String stringProperty) {
this.stringProperty = stringProperty;
}
/**
* An empty String property.
*/
private String emptyStringProperty = "";
public String getEmptyStringProperty() {
return (this.emptyStringProperty);
}
public void setEmptyStringProperty(String emptyStringProperty) {
this.emptyStringProperty = emptyStringProperty;
}
/**
* A single-String value for a SELECT element based on resource strings.
*/
private String resourcesSelect = "Resources 2";
public String getResourcesSelect() {
return (this.resourcesSelect);
}
public void setResourcesSelect(String resourcesSelect) {
this.resourcesSelect = resourcesSelect;
}
/**
* A property that allows a null value but is still used in a SELECT.
*/
private String withNulls = null;
public String getWithNulls() {
return (this.withNulls);
}
public void setWithNulls(String withNulls) {
this.withNulls = withNulls;
}
/**
* A List property.
*/
private List listProperty = null;
public List getListProperty() {
if (listProperty == null) {
listProperty = new ArrayList();
listProperty.add("dummy");
}
return listProperty;
}
public void setListProperty(List listProperty) {
this.listProperty = listProperty;
}
/**
* An empty List property.
*/
private List emptyListProperty = null;
public List getEmptyListProperty() {
if (emptyListProperty == null) {
emptyListProperty = new ArrayList();
}
return emptyListProperty;
}
public void setEmptyListProperty(List emptyListProperty) {
this.emptyListProperty = emptyListProperty;
}
/**
* A Map property.
*/
private Map mapProperty = null;
public Map getMapProperty() {
if (mapProperty == null) {
mapProperty = new HashMap();
mapProperty.put("dummy", "dummy");
}
return mapProperty;
}
public void setMapProperty(Map mapProperty) {
this.mapProperty = mapProperty;
}
/**
* An empty Map property.
*/
private Map emptyMapProperty = null;
public Map getEmptyMapProperty() {
if (emptyMapProperty == null) {
emptyMapProperty = new HashMap();
}
return emptyMapProperty;
}
public void setEmptyMapProperty(Map emptyMapProperty) {
this.emptyMapProperty = emptyMapProperty;
}
// --------------------------------------------------------- Public Methods
/**
* Reset the properties that will be received as input.
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
booleanProperty = false;
collectionSelect = new String[0];
intMultibox = new int[0];
multipleSelect = new String[0];
stringMultibox = new String[0];
if (nested != null)
nested.reset(mapping, request);
}
}