package fr.openwide.core.wicket.more.export.model; import java.io.File; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; import org.javatuples.LabelValue; public abstract class AbstractFileGenerationModel extends AbstractReadOnlyModel<LabelValue<String, File>> { private static final long serialVersionUID = -2527766488833656503L; private final IModel<String> fileNameModel; public AbstractFileGenerationModel(IModel<String> fileNameModel) { this.fileNameModel = fileNameModel; } @Override public LabelValue<String, File> getObject() { return LabelValue.with( fileNameModel.getObject(), generateFile() ); } protected abstract File generateFile(); }