package com.constellio.sdk.load.script.utils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class LinkableRecordsList<T> {
private int current = 0;
private List<T> records = new ArrayList<>();
public LinkableRecordsList() {
}
public LinkableRecordsList(List<T> records) {
this.records.addAll(records);
Collections.shuffle(this.records);
}
public T attach(T wrapper) {
records.add(wrapper);
return wrapper;
}
public synchronized T next() {
if (current + 1 >= records.size()) {
current = 0;
} else {
current++;
}
return records.get(current);
}
}