001package org.nuxeo.ecm.platform.importer.queue.consumer;
002
003import java.util.ArrayList;
004import java.util.Collections;
005import java.util.List;
006
007import org.nuxeo.ecm.platform.importer.source.SourceNode;
008
009/**
010 * @since 8.3
011 */
012public class Batch {
013
014    private final int capacity;
015
016    final List<SourceNode> nodes = new ArrayList<>();
017
018
019    public Batch(int capacity) {
020        this.capacity = capacity;
021    }
022
023    public int size() {
024        return nodes.size();
025    }
026
027    public void add(SourceNode src) {
028        nodes.add(src);
029    }
030
031    public boolean shouldBeEvicted() {
032        return false;
033    }
034
035    public boolean isFull() {
036        return nodes.size() >= capacity;
037    }
038
039    public List<SourceNode> getNodes() {
040        return Collections.unmodifiableList(nodes);
041    }
042
043    public void clear() {
044        nodes.clear();
045    }
046}