1 16 package org.apache.cocoon.forms.formmodel; 17 18 import org.apache.avalon.framework.context.Context; 19 import org.apache.avalon.framework.context.ContextException; 20 import org.apache.avalon.framework.context.Contextualizable; 21 import org.apache.avalon.framework.thread.ThreadSafe; 22 import org.apache.cocoon.forms.util.DomHelper; 23 import org.w3c.dom.Element ; 24 25 31 public class CaptchaDefinitionBuilder extends AbstractDatatypeWidgetDefinitionBuilder implements Contextualizable, ThreadSafe { 32 33 private Context avalonContext; 34 35 public void contextualize(Context context) throws ContextException { 36 this.avalonContext = context; 37 } 38 39 public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception { 40 FieldDefinition definition = new CaptchaFieldDefinition(avalonContext); 41 setupDefinition(widgetElement, definition); 42 definition.makeImmutable(); 43 return definition; 44 } 45 46 protected void setupDefinition(Element widgetElement, FieldDefinition definition) throws Exception { 47 super.setupDefinition(widgetElement, definition); 48 49 boolean required = DomHelper.getAttributeAsBoolean(widgetElement, "required", false); 51 definition.setRequired(required); 52 53 int length = DomHelper.getAttributeAsInteger(widgetElement, "length", 7); 55 ((CaptchaFieldDefinition) definition).setLength(length); 56 } 57 } 58 | Popular Tags |