/** * Copyright 2014 David L. Whitehurst * * Licensed 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.musicrecital.webapp.components; import org.apache.tapestry5.MarkupWriter; import org.apache.tapestry5.corelib.base.AbstractTextField; /** * A version of {@link TextField}, but rendered out as an <input type="password"> element. Further, the output * value for a HashedPasswordField is always encrypted. * <p/> * Includes the <code>size</code> attribute, if a {@link org.apache.tapestry5.beaneditor.Width} annotation is present on * the property bound to the value parameter. * * @author Serge Eby * @version $Id: 0cd356e95006393ab09df3b1d1d327f366d02f3f $ * */ public class HashedPasswordField extends AbstractTextField { @Override protected final void writeFieldTag(MarkupWriter writer, String value) { writer.element("input", "type", "password", "name", getControlName(), "id", getClientId(), "value", value, "size", getWidth()); } final void afterRender(MarkupWriter writer) { writer.end(); // input } }