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); } }