package fr.openwide.core.wicket.more.link.descriptor.builder.impl.mapper; import org.apache.wicket.model.IModel; import org.javatuples.Triplet; import fr.openwide.core.wicket.more.link.descriptor.builder.impl.factory.IBuilderMapperLinkDescriptorFactory; import fr.openwide.core.wicket.more.link.descriptor.mapper.AbstractThreeParameterLinkDescriptorMapper; import fr.openwide.core.wicket.more.link.descriptor.mapper.IThreeParameterLinkDescriptorMapper; public class CoreThreeParameterLinkDescriptorMapperImpl < TLinkDescriptor, TParam1, TParam2, TParam3 > extends AbstractThreeParameterLinkDescriptorMapper<TLinkDescriptor, TParam1, TParam2, TParam3> implements IThreeParameterLinkDescriptorMapper<TLinkDescriptor, TParam1, TParam2, TParam3> { private static final long serialVersionUID = -4881770003726056213L; private final IBuilderMapperLinkDescriptorFactory<TLinkDescriptor> factory; public CoreThreeParameterLinkDescriptorMapperImpl(IBuilderMapperLinkDescriptorFactory<TLinkDescriptor> factory) { this.factory = factory; } @Override public TLinkDescriptor map( Triplet<? extends IModel<TParam1>, ? extends IModel<TParam2>, ? extends IModel<TParam3>> param) { return factory.create(param); } @Override public void detach() { super.detach(); factory.detach(); } }