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