/*
* ====================================================================
* Copyright (c) 2004-2012 TMate Software Ltd. All rights reserved.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://svnkit.com/license.html
* If newer versions of this license are posted there, you may use a
* newer version instead, at your option.
* ====================================================================
*/
package org.tmatesoft.svn.core.internal.wc;
import java.util.List;
import de.regnis.q.sequence.QSequenceDifferenceBlock;
/**
* @version 1.3
* @author TMate Software Ltd.
*/
final class FSMergerBySequenceList {
// Fields =================================================================
private final List myBlocks;
private int myPosition;
// Setup ==================================================================
public FSMergerBySequenceList(List blocks) {
this.myBlocks = blocks;
this.myPosition = 0;
}
// Accessing ==============================================================
public boolean hasCurrent() {
return myPosition < myBlocks.size();
}
public QSequenceDifferenceBlock current() {
return (QSequenceDifferenceBlock)myBlocks.get(myPosition);
}
public boolean hasNext() {
return myPosition + 1 < myBlocks.size();
}
public QSequenceDifferenceBlock peekNext() {
return myPosition + 1 < myBlocks.size() ? (QSequenceDifferenceBlock)myBlocks.get(myPosition + 1) : null;
}
public void forward() {
myPosition++;
}
}