Bonjour, j'ai une classe abstraite définit en gros de la facon suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public abstract class LuceneIndexer {
	// [...]
	protected abstract Vector<RessourceProperty> getRessourceProperties(Object ressource);
}
Dans une classe qui hérite de LuceneIndexer j'essai de mettre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public class LuceneRSSIndexer extends LuceneIndexer {

        // [...]
	protected Vector<RessourceProperty> getRessourceProperties(RSSEntry entry) {
		Vector<RessourceProperty> v = new Vector<RessourceProperty>();
		v.add( new RessourceProperty("title", e.getTitle(), Field.Store.YES, Field.Index.TOKENIZED));
		v.add( new RessourceProperty("description",e.getDescription(), Field.Store.YES, Field.Index.TOKENIZED));
		}
		return v;
	}
}
Et RSSEntry est une classe qui extends Object.

Cependant Eclipse me balance une erreur


The type LuceneRSSIndexer must implement the inherited abstract method LuceneIndexer.getRessourceProperties(Object)


Pourtant RSSEntry "is a" Object donc ca serait sencé fonctionner non ?
En ce moment je suis obligé de mettre Object entry comme paramètre au lieu de RSSEntry entry et de faire un if (entry instanceof RSSEntry), j'aimerais éviter cela.


Merci!