package fr.openwide.core.wicket.more.link.descriptor.mapper; import org.apache.wicket.model.IModel; import org.bindgen.BindingRoot; import fr.openwide.core.wicket.more.model.BindingModel; public class BindingOneParameterLinkDescriptorMapper<L, R, T> extends AbstractOneParameterLinkDescriptorMapper<L, R> { private static final long serialVersionUID = -1677511112381705789L; private final BindingRoot<? super R, T> binding; private final ILinkDescriptorMapper<L, ? super IModel<T>> delegate; public BindingOneParameterLinkDescriptorMapper(BindingRoot<? super R, T> binding, ILinkDescriptorMapper<L, ? super IModel<T>> delegate) { super(); this.binding = binding; this.delegate = delegate; } @Override public L map(IModel<R> model) { return delegate.map(BindingModel.of(model, binding)); } @Override public void detach() { super.detach(); delegate.detach(); } }