Fixes to contracts

This commit is contained in:
Mark DePristo 2011-11-18 14:18:53 -05:00
parent 660d6009a2
commit a2e79fbe8a
1 changed files with 4 additions and 4 deletions

View File

@ -246,19 +246,19 @@ public class GenotypesContext implements List<Genotype> {
//
// ---------------------------------------------------------------------------
@Ensures({"cacheIsInvalid = true"})
private void invalidateCaches() {
@Ensures({"cacheIsInvalid == true"})
private synchronized void invalidateCaches() {
cacheIsInvalid = true;
sampleNamesInOrder = null;
sampleNameToOffset = null;
}
@Ensures({"cacheIsInvalid = false",
@Ensures({"cacheIsInvalid == false",
"sampleNamesInOrder != null",
"sampleNameToOffset != null",
"sameSamples(genotypes, sampleNamesInOrder)",
"sameSamples(genotypes, sampleNameToOffset.keySet())"})
private void buildCache() {
private synchronized void buildCache() {
if ( cacheIsInvalid ) {
cacheIsInvalid = false;
sampleNamesInOrder = new ArrayList<String>(genotypes.size());