001 package org.apache.turbine.util; 002 003 004 /* 005 * Licensed to the Apache Software Foundation (ASF) under one 006 * or more contributor license agreements. See the NOTICE file 007 * distributed with this work for additional information 008 * regarding copyright ownership. The ASF licenses this file 009 * to you under the Apache License, Version 2.0 (the 010 * "License"); you may not use this file except in compliance 011 * with the License. You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, 016 * software distributed under the License is distributed on an 017 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 018 * KIND, either express or implied. See the License for the 019 * specific language governing permissions and limitations 020 * under the License. 021 */ 022 023 024 import java.util.Vector; 025 026 /** 027 * A message class for holding information about a message that 028 * relates to a specific form and field. Used together with 029 * FormMessages class. 030 * 031 * @author <a href="mailto:neeme@one.lv">Neeme Praks</a> 032 * @version $Id: FormMessage.java 1073174 2011-02-21 22:18:45Z tv $ 033 */ 034 public class FormMessage 035 { 036 private String message; 037 private String formName; 038 private final Vector<String> fieldNames; 039 040 /** 041 * Constructor. 042 */ 043 public FormMessage() 044 { 045 fieldNames = new Vector<String>(); 046 } 047 048 /** 049 * Constructor. 050 * 051 * @param formName A String with the form name. 052 */ 053 public FormMessage(String formName) 054 { 055 this(); 056 setFormName(formName); 057 } 058 059 /** 060 * Constructor. 061 * 062 * @param formName A String with the form name. 063 * @param fieldName A String with the field name. 064 */ 065 public FormMessage(String formName, 066 String fieldName) 067 { 068 this(formName); 069 setFieldName(fieldName); 070 } 071 072 /** 073 * Constructor. 074 * 075 * @param formName A String with the form name. 076 * @param fieldName A String with the field name. 077 * @param message A String with the message. 078 */ 079 public FormMessage(String formName, 080 String fieldName, 081 String message) 082 { 083 this(formName, fieldName); 084 setMessage(message); 085 } 086 087 /** 088 * Return the message. 089 * 090 * @return A String with the message. 091 */ 092 public String getMessage() 093 { 094 return message; 095 } 096 097 /** 098 * Return the form name. 099 * 100 * @return A String with the form name. 101 */ 102 public String getFormName() 103 { 104 return formName; 105 } 106 107 /** 108 * Return the field names. 109 * 110 * @return A String[] with the field names. 111 */ 112 public String[] getFieldNames() 113 { 114 String[] result = new String[fieldNames.size()]; 115 fieldNames.copyInto(result); 116 return result; 117 } 118 119 /** 120 * Set the message. 121 * 122 * @param message A String with the message. 123 */ 124 public void setMessage(String message) 125 { 126 this.message = message; 127 } 128 129 /** 130 * Set the form name. 131 * 132 * @param formName A String with the form name. 133 */ 134 public void setFormName(String formName) 135 { 136 this.formName = formName; 137 } 138 139 /** 140 * Adds one field name. 141 * 142 * @param fieldName A String with the field name. 143 */ 144 public void setFieldName(String fieldName) 145 { 146 fieldNames.addElement(fieldName); 147 } 148 149 /** 150 * Write out the contents of the message in a friendly manner. 151 * 152 */ 153 @Override 154 public String toString() 155 { 156 StringBuffer sb = new StringBuffer("formName:" + getFormName() + ", fieldNames:"); 157 for (int i = 0; i< getFieldNames().length; i++){ 158 sb.append(getFieldNames()[i] + " "); 159 } 160 sb.append(", message:" + getMessage()); 161 162 return sb.toString(); 163 } 164 }