package org.nocket.component.form.behaviors; import java.util.MissingResourceException; import org.apache.wicket.Component; import org.apache.wicket.markup.transformer.AbstractTransformerBehavior; import org.apache.wicket.model.IWrapModel; import org.apache.wicket.model.ResourceModel; // TODO: Auto-generated Javadoc /** * This behavior sets a special css class on the component * tag and provides an input hint to help the user. * * @author vocke03 */ @SuppressWarnings("serial") public class InputInfoStyleBehavior extends AbstractTransformerBehavior { /** The hint. */ private String hint; /** * Instantiates a new input info style behavior. */ public InputInfoStyleBehavior() { super(); } /* (non-Javadoc) * @see org.apache.wicket.markup.transformer.AbstractTransformerBehavior#transform(org.apache.wicket.Component, java.lang.CharSequence) */ @Override public CharSequence transform(Component component, CharSequence cs) { CharSequence res = cs; if(hint != null) res = cs + "<p class=\"hint\">" + hint + "</p>"; return res; } /* (non-Javadoc) * @see org.apache.wicket.behavior.Behavior#bind(org.apache.wicket.Component) */ @Override public void bind(Component component) { try { final IWrapModel<String> model = new ResourceModel(component.getId() + ".hint", null).wrapOnAssignment(component); this.hint = model.getObject(); } catch (MissingResourceException e) { hint = null; } super.bind(component); } }