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.
98 lines
3.3 KiB
Java
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
|