package fr.openwide.core.wicket.more.model;
import java.util.Collection;
import java.util.Iterator;
import org.apache.wicket.model.IModel;
import fr.openwide.core.wicket.more.markup.repeater.collection.IItemModelAwareCollectionModel;
public class WorkingCopyCollectionModel<T, C extends Collection<T>, M extends IModel<T>>
extends WorkingCopyModel<C>
implements IItemModelAwareCollectionModel<T, C, M> {
private static final long serialVersionUID = -4049247716740595168L;
private final IItemModelAwareCollectionModel<T, C, M> collectionWorkingCopy;
public WorkingCopyCollectionModel(IModel<C> reference, CollectionCopyModel<T, C, M> workingCopy) {
super(reference, workingCopy);
this.collectionWorkingCopy = workingCopy;
}
@Override
public C getObject() {
return collectionWorkingCopy.getObject();
}
@Override
public void setObject(C object) {
collectionWorkingCopy.setObject(object);
}
@Override
public Iterator<M> iterator(long offset, long limit) {
return collectionWorkingCopy.iterator(offset, limit);
}
@Override
public Iterator<M> iterator() {
return collectionWorkingCopy.iterator();
}
@Override
public long size() {
return collectionWorkingCopy.size();
}
@Override
public void add(T item) {
collectionWorkingCopy.add(item);
}
@Override
public void remove(T item) {
collectionWorkingCopy.remove(item);
}
@Override
public void clear() {
collectionWorkingCopy.clear();
}
}