Skip to content

Commit e7407f9

Browse files
committed
better typing fix
1 parent 5b21332 commit e7407f9

5 files changed

Lines changed: 16 additions & 23 deletions

File tree

biojava-core/src/main/java/org/biojava/nbio/core/sequence/features/FeatureRetriever.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222

2323
package org.biojava.nbio.core.sequence.features;
2424

25+
import org.biojava.nbio.core.sequence.template.AbstractSequence;
26+
import org.biojava.nbio.core.sequence.template.Compound;
27+
2528
import java.util.List;
2629
import java.util.Map;
2730

@@ -30,6 +33,6 @@
3033
* has a list features
3134
* @author @author Paolo Pavan
3235
*/
33-
public interface FeatureRetriever {
34-
Map<String, List<AbstractFeature>> getFeatures();
36+
public interface FeatureRetriever<C extends Compound> {
37+
Map<String, List<AbstractFeature<AbstractSequence<C>, C>>> getFeatures();
3538
}

biojava-core/src/main/java/org/biojava/nbio/core/sequence/io/GenbankSequenceParser.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public class GenbankSequenceParser<S extends AbstractSequence<C>, C extends Comp
7171
* FEATURE_TAG section They are organized by list of the same type (i.e.
7272
* same genbank Feature) and are provided with location
7373
*/
74-
private HashMap<String, List<AbstractFeature>> featureCollection;
74+
private Map<String, List<AbstractFeature<AbstractSequence<C>, C>>> featureCollection;
7575

7676
private final Logger log = LoggerFactory.getLogger(getClass());
7777

@@ -441,10 +441,10 @@ public List<String> getKeyWords() {
441441
return new ArrayList<>(featureCollection.keySet());
442442
}
443443

444-
public List<AbstractFeature> getFeatures(String keyword) {
444+
public List<AbstractFeature<AbstractSequence<C>, C>> getFeatures(String keyword) {
445445
return featureCollection.get(keyword);
446446
}
447-
public Map<String, List<AbstractFeature>> getFeatures() {
447+
public Map<String, List<AbstractFeature<AbstractSequence<C>, C>>> getFeatures() {
448448
return featureCollection;
449449
}
450450

biojava-core/src/main/java/org/biojava/nbio/core/sequence/loader/GenbankProxySequenceReader.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,7 @@
3232
import org.biojava.nbio.core.sequence.compound.AminoAcidCompoundSet;
3333
import org.biojava.nbio.core.sequence.compound.DNACompoundSet;
3434
import org.biojava.nbio.core.sequence.compound.NucleotideCompound;
35-
import org.biojava.nbio.core.sequence.features.AbstractFeature;
36-
import org.biojava.nbio.core.sequence.features.DBReferenceInfo;
37-
import org.biojava.nbio.core.sequence.features.DatabaseReferenceInterface;
38-
import org.biojava.nbio.core.sequence.features.FeatureRetriever;
39-
import org.biojava.nbio.core.sequence.features.FeaturesKeyWordInterface;
35+
import org.biojava.nbio.core.sequence.features.*;
4036
import org.biojava.nbio.core.sequence.io.GenbankSequenceParser;
4137
import org.biojava.nbio.core.sequence.io.GenericGenbankHeaderParser;
4238
import org.biojava.nbio.core.sequence.template.AbstractSequence;
@@ -45,17 +41,11 @@
4541
import org.slf4j.Logger;
4642
import org.slf4j.LoggerFactory;
4743

48-
import java.io.BufferedInputStream;
49-
import java.io.BufferedReader;
50-
import java.io.File;
51-
import java.io.FileInputStream;
52-
import java.io.FileOutputStream;
53-
import java.io.IOException;
54-
import java.io.InputStream;
55-
import java.io.InputStreamReader;
44+
import java.io.*;
5645
import java.net.URL;
5746
import java.net.URLConnection;
58-
import java.util.*;
47+
import java.util.List;
48+
import java.util.Map;
5949

6050
/**
6151
* @author Karl Nicholas <github:karlnicholas>
@@ -70,7 +60,7 @@ public class GenbankProxySequenceReader<C extends Compound> extends StringProxyS
7060
private GenbankSequenceParser<AbstractSequence<C>, C> genbankParser;
7161
private GenericGenbankHeaderParser<AbstractSequence<C>, C> headerParser;
7262
private String header;
73-
private Map<String, List<AbstractFeature>> features;
63+
private Map<String, List<AbstractFeature<AbstractSequence<C>, C>>> features;
7464

7565

7666
/**
@@ -180,7 +170,7 @@ public GenericGenbankHeaderParser<AbstractSequence<C>, C> getHeaderParser() {
180170
return headerParser;
181171
}
182172
@Override
183-
public Map<String, List<AbstractFeature>> getFeatures() {
173+
public Map<String, List<AbstractFeature<AbstractSequence<C>, C>>> getFeatures() {
184174
return features;
185175
}
186176

biojava-core/src/main/java/org/biojava/nbio/core/sequence/template/AbstractSequence.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public void setProxySequenceReader(SequenceReader<C> proxyLoader) {
126126

127127
if (proxyLoader instanceof FeatureRetriever) {
128128
this.setFeatureRetriever((FeatureRetriever) sequenceStorage);
129-
Map<String, List<AbstractFeature>> ff = getFeatureRetriever().getFeatures();
129+
Map<String, List<AbstractFeature<AbstractSequence<C>, C>>> ff = getFeatureRetriever().getFeatures();
130130
for (String k: ff.keySet()){
131131
for (AbstractFeature f: ff.get(k)){
132132
this.addFeature(f);

biojava-core/src/test/java/org/biojava/nbio/core/sequence/loader/GenbankProxySequenceReaderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ public void testProteinSequenceFactoring() throws Exception {
188188
ProteinSequence seq = new ProteinSequence(genbankReader);
189189

190190
// if target protein contain CDS/coded_by than it should contain parent nucleotide seq
191-
List<AbstractFeature> CDSs = genbankReader.getFeatures().get("CDS");
191+
List<AbstractFeature<AbstractSequence<AminoAcidCompound>, AminoAcidCompound>> CDSs = genbankReader.getFeatures().get("CDS");
192192

193193
if (CDSs != null) {
194194
if (CDSs.size() == 1) {

0 commit comments

Comments
 (0)