package be.selckin.swu.model;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import org.apache.wicket.model.IModel;
import java.util.List;
public class ReadOnlyArrayListAdapterLDM<T> extends ReadOnlyLDM<List<T>> {
private final IModel<T[]> model;
public ReadOnlyArrayListAdapterLDM(IModel<T[]> model) {
this.model = Preconditions.checkNotNull(model);
}
@Override
protected List<T> load() {
T[] ts = model.getObject();
return ts == null ? ImmutableList.<T>of() : ImmutableList.copyOf(ts);
}
@Override
protected void onDetach() {
model.detach();
}
public static <T> ReadOnlyArrayListAdapterLDM<T> of(IModel<T[]> model) {
return new ReadOnlyArrayListAdapterLDM<T>(model);
}
}