X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FAlignFile.java;h=c2cf6670248d3cd2efba126a9f63da1e0c243cc5;hb=a3d82d30b2bc55f250bbf1c94975308407e8aae7;hp=a603ccac45d6d9577a076be41a481c2bf253230c;hpb=3d0101179759ef157b088ea135423cd909512d9f;p=jalview.git diff --git a/src/jalview/io/AlignFile.java b/src/jalview/io/AlignFile.java index a603cca..c2cf667 100755 --- a/src/jalview/io/AlignFile.java +++ b/src/jalview/io/AlignFile.java @@ -72,7 +72,20 @@ public abstract class AlignFile extends FileParse long end; - private boolean parseCalled; + /** + * true if parse() has been called + */ + private boolean parseCalled = false; + + private boolean parseImmediately = true; + + /** + * @return if doParse() was called at construction time + */ + protected boolean isParseImmediately() + { + return parseImmediately; + } /** * Creates a new AlignFile object. @@ -99,7 +112,7 @@ public abstract class AlignFile extends FileParse * @param sourceType * What type of file to read from (File, URL, Pasted String) */ - public AlignFile(String dataObject, DataSourceType sourceType) + public AlignFile(Object dataObject, DataSourceType sourceType) throws IOException { this(true, dataObject, sourceType); @@ -117,9 +130,10 @@ public abstract class AlignFile extends FileParse * What type of file to read from (File, URL) * @throws IOException */ - public AlignFile(boolean parseImmediately, String dataObject, + public AlignFile(boolean parseImmediately, Object dataObject, DataSourceType sourceType) throws IOException { + // BH allows File or String super(dataObject, sourceType); initData(); if (parseImmediately) @@ -153,6 +167,11 @@ public abstract class AlignFile extends FileParse { super(source); initData(); + + // stash flag in case parse needs to know if it has to autoconfigure or was + // configured after construction + this.parseImmediately = parseImmediately; + if (parseImmediately) { doParse(); @@ -174,11 +193,6 @@ public abstract class AlignFile extends FileParse } parseCalled = true; parse(); - // sets the index of each sequence in the alignment - for (int i = 0, c = seqs.size(); i < c; i++) - { - seqs.get(i).setIndex(i); - } } /** @@ -309,14 +323,15 @@ public abstract class AlignFile extends FileParse */ protected void initData() { - seqs = new Vector(); - annotations = new Vector(); - seqGroups = new ArrayList(); + seqs = new Vector<>(); + annotations = new Vector<>(); + seqGroups = new ArrayList<>(); parseCalled = false; } /** - * DOCUMENT ME! + * Create the seqs Vector from a set of parsed sequences in an AlignFile, + * FeaturesFile, RnamlFile, or StockholmFile. * * @param s * DOCUMENT ME! @@ -324,7 +339,7 @@ public abstract class AlignFile extends FileParse @Override public void setSeqs(SequenceI[] s) { - seqs = new Vector(); + seqs = new Vector<>(); for (int i = 0; i < s.length; i++) { @@ -395,7 +410,7 @@ public abstract class AlignFile extends FileParse { if (newickStrings == null) { - newickStrings = new Vector(); + newickStrings = new Vector<>(); } newickStrings.addElement(new String[] { treeName, newickString }); }