de.regnis.q.sequence.media.QSequenceCachingMedia Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of javasvn Show documentation
Show all versions of javasvn Show documentation
The only pure Java Subversion library in the world
/*
* ====================================================================
* Copyright (c) 2004 Marc Strapetz, [email protected].
* All rights reserved.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. Use is
* subject to license terms.
* ====================================================================
*/
package de.regnis.q.sequence.media;
import de.regnis.q.sequence.core.*;
/**
* @author Marc Strapetz
*/
public class QSequenceCachingMedia extends QSequenceIntMedia {
// Fields =================================================================
private final QSequenceCachingMediaSymbolMap symbolMap;
private final int[] leftSymbols;
private final int[] rightSymbols;
// Setup ==================================================================
public QSequenceCachingMedia(QSequenceCachableMedia media, QSequenceCanceller canceller) throws QSequenceException {
super(canceller);
this.symbolMap = new QSequenceCachingMediaSymbolMap(media.getLeftLength() + media.getRightLength());
this.leftSymbols = symbolMap.createSymbols(media, new QSequenceCachableMediaLeftGetter());
this.rightSymbols = symbolMap.createSymbols(media, new QSequenceCachableMediaRightGetter());
}
// Implemented ============================================================
public int getLeftLength() {
return leftSymbols.length;
}
public int getRightLength() {
return rightSymbols.length;
}
public boolean equals(int leftIndex, int rightIndex) throws QSequenceCancelledException {
checkCancelled();
return leftSymbols[leftIndex] == rightSymbols[rightIndex];
}
// Accessing ==============================================================
public int getSymbolCount() {
return symbolMap.getSymbolCount();
}
public int[] getLeftSymbols() {
return leftSymbols;
}
public int[] getRightSymbols() {
return rightSymbols;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy