/*
* Copyright (C) 2015 Actor LLC. <https://actor.im>
*/
package im.actor.runtime.generic.mvvm;
import com.google.j2objc.annotations.ObjectiveCName;
import com.google.j2objc.annotations.Property;
import java.util.ArrayList;
import im.actor.runtime.generic.mvvm.alg.Move;
public class AppleListUpdate {
@Property
private ArrayList<Integer> removed;
@Property
private ArrayList<Integer> added;
@Property
private ArrayList<Move> moved;
@Property
private ArrayList<Integer> updated;
@Property
private boolean isLoadMore;
@ObjectiveCName("initWithRemoved:withAdded:withMoved:withUpdated:withLoadMore:")
public AppleListUpdate(ArrayList<Integer> removed,
ArrayList<Integer> added,
ArrayList<Move> moved,
ArrayList<Integer> updated, boolean isLoadMore) {
this.removed = removed;
this.added = added;
this.moved = moved;
this.updated = updated;
this.isLoadMore = isLoadMore;
}
@ObjectiveCName("removedCount")
public int removedCount() {
return removed.size();
}
@ObjectiveCName("getRemoved:")
public int getRemoved(int index) {
return removed.get(index);
}
@ObjectiveCName("addedCount")
public int addedCount() {
return added.size();
}
@ObjectiveCName("getAdded:")
public int getAdded(int index) {
return added.get(index);
}
@ObjectiveCName("movedCount")
public int movedCount() {
return moved.size();
}
@ObjectiveCName("getMoved:")
public Move getMoved(int index) {
return moved.get(index);
}
@ObjectiveCName("updatedCount")
public int updatedCount() {
return updated.size();
}
@ObjectiveCName("getUpdated:")
public int getUpdated(int index) {
return updated.get(index);
}
@ObjectiveCName("size")
public int size() {
return removed.size() + added.size() + moved.size() + updated.size();
}
@ObjectiveCName("nonUpdateCount")
public int nonUpdateCount() {
return removed.size() + added.size() + moved.size();
}
@ObjectiveCName("isLoadMore")
public boolean isLoadMore() {
return isLoadMore;
}
}