/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package uk.ac.cam.echo.TouchClient;
import java.util.ArrayList;
import java.util.List;
import javafx.collections.ListChangeListener.Change;
import javafx.collections.ObservableList;
/**
*a class that represents an change to a observable list where something has been removed
*
* @author Philip
* @param <T> The type of the list contents
*/
public class RemoveChange<T> extends Change<String>{
private final T removed;
private final ObservableList mlist;
public RemoveChange(T message, ObservableList list){
super(list);
mlist = list;
removed = message;
}
@Override
public boolean next() {
return false;
}
@Override
public void reset() {
mlist.add(removed);
}
@Override
public int getFrom() {
return mlist.size();
}
@Override
public int getTo() {
return mlist.size()-1;
}
@Override
public List getRemoved() {
ArrayList<T> out = new ArrayList();
out.add(removed);
return out;
}
@Override
protected int[] getPermutation() {
return new int[0];
}
}