From e467b8e1aeae88f9967001b8a8212c43db0ebf4c Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 21 Nov 2011 09:34:57 -0500 Subject: [PATCH] More contracts on LazyGenotypesContext --- .../sting/utils/variantcontext/GenotypesContext.java | 2 +- .../sting/utils/variantcontext/LazyGenotypesContext.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypesContext.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypesContext.java index ab5ab9465..25b277298 100644 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypesContext.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypesContext.java @@ -604,7 +604,7 @@ public class GenotypesContext implements List { } } - private final static boolean sameSamples(List genotypes, Collection sampleNamesInOrder) { + protected final static boolean sameSamples(List genotypes, Collection sampleNamesInOrder) { Set names = new HashSet(sampleNamesInOrder); if ( names.size() != sampleNamesInOrder.size() ) return false; diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/LazyGenotypesContext.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/LazyGenotypesContext.java index 7facfacf6..b3a24aef5 100644 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/LazyGenotypesContext.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/LazyGenotypesContext.java @@ -65,6 +65,8 @@ public class LazyGenotypesContext extends GenotypesContext { * to the LazyGenotypesContext holding encoded genotypes data */ public interface LazyParser { + @Requires("data != null") + @Ensures("result != null") public LazyData parse(Object data); } @@ -78,6 +80,9 @@ public class LazyGenotypesContext extends GenotypesContext { final Map sampleNameToOffset; final List sampleNamesInOrder; + @Requires({"genotypes != null", "sampleNamesInOrder != null", "sampleNameToOffset != null", + "sameSamples(genotypes, sampleNamesInOrder)", + "sameSamples(genotypes, sampleNameToOffset.keySet())"}) public LazyData(final ArrayList genotypes, final List sampleNamesInOrder, final Map sampleNameToOffset) {