Eric J. Bowersox 47b88efd75 MAJOR restructuring of the engine code to get the execution environment info
separated from the internal objects (as well as separating the internal
interfaces), some prep work for modularizing the SIG-to-service interface so
it'll be easier to add chat and stuff.  Also fixed up a display issue with
1-character CDTextFormFields.
2001-11-17 06:37:30 +00:00

98 lines
3.3 KiB
Java

/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (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.mozilla.org/MPL/>.
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Community System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.servlets.format;
import java.io.Writer;
import java.io.IOException;
import com.silverwrist.venice.ValidationException;
public class CDTextFormField extends CDBaseFormField
{
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
*/
private int size;
private int maxlength;
private int real_maxlength;
/*--------------------------------------------------------------------------------
* Constructors
*--------------------------------------------------------------------------------
*/
public CDTextFormField(String name, String caption, String caption2, boolean required,
int size, int maxlength)
{
super(name,caption,caption2,required);
this.size = Math.max(size,2);
this.maxlength = Math.max(maxlength,2);
this.real_maxlength = maxlength;
} // end constructor
protected CDTextFormField(CDTextFormField other)
{
super(other);
this.size = other.size;
this.maxlength = other.maxlength;
this.real_maxlength = other.real_maxlength;
} // end constructor
/*--------------------------------------------------------------------------------
* Overrides from class CDBaseFormField
*--------------------------------------------------------------------------------
*/
protected void renderActualField(Writer out, RenderData rdat) throws IOException
{
out.write("<SPAN CLASS=\"cinput\"><INPUT TYPE=TEXT CLASS=\"cinput\" NAME=\"" + getName() + "\" SIZE="
+ String.valueOf(size));
out.write(" MAXLENGTH=" + String.valueOf(maxlength));
if (!isEnabled())
out.write(" DISABLED");
out.write(" VALUE=\"");
if (getValue()!=null)
out.write(getValue());
out.write("\"></SPAN>");
} // end renderActualField
protected void validateContents(String value) throws ValidationException
{
if (value.length()>real_maxlength)
throw new ValidationException("The value of the '" + getCaption() + "' field must be no longer than "
+ real_maxlength + " characters.");
} // end validateContents
/*--------------------------------------------------------------------------------
* Implementations from interface CDFormField
*--------------------------------------------------------------------------------
*/
public CDFormField duplicate()
{
return new CDTextFormField(this);
} // end clone
} // end class CDTextFormField