package fr.openwide.core.test.wicket.more.bindable;
import org.apache.wicket.model.IModel;
import com.google.common.base.Function;
class StubModel<T> implements IModel<T> {
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
public static <T> Function<T, StubModel<T>> factory() {
return (Function<T, StubModel<T>>) (Object) Factory.INSTANCE;
}
@SuppressWarnings({"rawtypes", "unchecked"}) // SerializableModelFactory works for any T extending Serializable
private enum Factory implements Function<Object, StubModel> {
INSTANCE;
@Override
public StubModel apply(Object input) {
return new StubModel(input);
}
}
private T value;
public StubModel() {
super();
}
public StubModel(T value) {
super();
this.value = value;
}
@Override
public void detach() {
// Does nothing
}
@Override
public T getObject() {
return value;
}
@Override
public void setObject(T object) {
this.value = object;
}
}