package fr.openwide.core.wicket.more.link.descriptor.builder.impl.parameter;
import org.javatuples.Tuple;
import fr.openwide.core.wicket.more.link.descriptor.builder.state.parameter.mapping.IAddedParameterMappingState;
public abstract class AbstractCoreAddedParameterMapperStateImpl<TNextState, TTuple extends Tuple>
implements IAddedParameterMappingState<TNextState> {
private final LinkParameterMappingEntryBuilder<TTuple> parameterEntryBuilder;
public AbstractCoreAddedParameterMapperStateImpl(LinkParameterMappingEntryBuilder<TTuple> parameterEntryBuilder) {
this.parameterEntryBuilder = parameterEntryBuilder;
}
protected abstract TNextState toNextState(LinkParameterMappingEntryBuilder<TTuple> parameterEntryBuilder);
@Override
public TNextState mandatory() {
parameterEntryBuilder.setMandatory(true);
return toNextState(parameterEntryBuilder);
}
@Override
public TNextState optional() {
parameterEntryBuilder.setMandatory(false);
return toNextState(parameterEntryBuilder);
}
}