package fr.openwide.core.wicket.more.markup.html.model; import org.apache.wicket.model.IModel; import org.apache.wicket.model.LoadableDetachableModel; import org.apache.wicket.util.lang.Bytes; public class BytesToLongModel extends LoadableDetachableModel<Long> { private static final long serialVersionUID = 3511276823849427019L; private final IModel<Bytes> bytesModel; protected BytesToLongModel(IModel<Bytes> bytesModel) { super(); this.bytesModel = bytesModel; } @Override protected Long load() { if (bytesModel.getObject() == null) { return null; } else { return Long.valueOf(bytesModel.getObject().bytes()); } } @Override public void detach() { bytesModel.detach(); super.detach(); } @Override public void setObject(Long object) { if (object == null) { bytesModel.setObject(null); } else { bytesModel.setObject(Bytes.bytes(object)); } super.setObject(object); } public static final BytesToLongModel of(IModel<Bytes> bytesModel) { return new BytesToLongModel(bytesModel); } }