/**
* Copyright (C) 2008-2010, Squale Project - http://www.squale.org
*
* This file is part of Squale.
*
* Squale is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or any later version.
*
* Squale is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Squale. If not, see <http://www.gnu.org/licenses/>.
*/
package org.squale.welcom.taglib.field.wrap;
import javax.servlet.jsp.JspException;
import org.apache.commons.validator.GenericValidator;
import org.apache.struts.taglib.html.HiddenTag;
import org.squale.welcom.outils.Charte;
import org.squale.welcom.outils.WelcomConfigurator;
import org.squale.welcom.taglib.field.util.LayoutUtils;
import org.squale.welcom.taglib.field.util.TagUtils;
public class WTextareaTag
extends WBaseTextareaTag
implements IWelcomInputTag
{
/**
* Sp�cifie le mode d'acc�e du composant
*/
private String access = READWRITE;
/**
* {@inheritDoc}
*/
public int doStartTag()
throws JspException
{
// Adapte le style de la case a coh� sir on est en charte v2.002
if ( WelcomConfigurator.getCharte() == Charte.V2_002 && GenericValidator.isBlankOrNull( this.getStyleClass() ) )
{
this.setStyleClass( "normal" );
}
if ( READWRITE.equals( access ) )
{
return super.doStartTag();
}
else
{
this.setReadonly( true );
if ( READSEND.equals( access ) )
{
HiddenTag hiddenTag = new HiddenTag();
// initialize the tag
LayoutUtils.copyProperties( hiddenTag, this );
hiddenTag.doStartTag();
hiddenTag.doEndTag();
}
return super.doStartTag();
}
}
/**
* Methode preparant les index on rajout le possibilit� sur le TableTag
*/
protected void prepareIndex( StringBuffer sb, String name )
throws JspException
{
TagUtils.prepareIndex( pageContext, this, messages, sb, name );
}
/**
* @return access attribut
*/
public String getAccess()
{
return access;
}
/**
* @param access access attribut
*/
public void setAccess( String access )
{
this.access = access;
}
}