package wicket.contrib.gmap3.behavior; import org.apache.wicket.Component; import org.apache.wicket.behavior.Behavior; import org.apache.wicket.markup.ComponentTag; import wicket.contrib.gmap3.ReviewPending; /** * The Class JSMethodBehavior. */ @ReviewPending // remove when class is tested abstract class JSMethodBehavior extends Behavior { private static final long serialVersionUID = 1L; private final String _attribute; /** * Instantiates a new jS method behavior. * * @param attribute the attribute */ public JSMethodBehavior(final String attribute) { _attribute = attribute; } /** * On component tag. * * @param component the component * @param tag the tag * @see org.apache.wicket.behavior.AbstractBehavior#onComponentTag(org.apache.wicket.Component, * org.apache.wicket.markup.ComponentTag) */ @Override public void onComponentTag(final Component component, final ComponentTag tag) { String invoke = getJSinvoke(); if (_attribute.equalsIgnoreCase("href")) { invoke = "javascript:" + invoke; } tag.put(_attribute, invoke); } protected abstract String getJSinvoke(); }