It is. No idea where this one came from. 

Cheers, 

Martin
 

> Am 03.08.2015 um 10:29 schrieb Richard Eckart de Castilho <[email protected]>:
> 
> Looks like a duplicate post?
> 
> -- Richard
> 
> On 31.07.2015, at 20:27, Martin Wunderlich <[email protected]> wrote:
> 
>> Hi all, 
>> 
>> I am currently developing some feature extractors in the DKPro framework and 
>> I have come across a problem with the Class type in the following method in 
>> org.apache.uima.fit.util.JCasUtil: 
>> 
>> public static <T extends Annotation> List<T> selectCovered(JCas jCas, final 
>> Class<T> type,
>>         int begin, int end) {
>>   return cast(CasUtil.selectCovered(jCas.getCas(), getType(jCas, type), 
>> begin, end));
>> }
>> 
>> In my type system I have a base type „Proposition" that extends „Annotation" 
>> and two more types which are derived from the base type: „Conclusion“ and 
>> „Premise". If I use the base type for the generic type parameter T in this 
>> method above, it works fine. If I use one of the sub-types of the base type, 
>> I get the following error: 
>> 
>>      - Bound mismatch: The generic method selectCovered(JCas, Class<T>, int, 
>> int) of type JCasUtil is not applicable for the arguments (JCas, 
>> Class<Conclusion>, int, int). The 
>>       inferred type Conclusion is not a valid substitute for the bounded 
>> parameter <T extends Annotation>
>> 
>> Background is that I would like to use one abstract feature extractor for 
>> common code which is parameterized with <T extends Proposition>  and the two 
>> concrete sub-class FE’s, which are parameterized with the two sub-types. 
>> 
>> Maybe I have some misunderstanding regarding the use of Generics here. Could 
>> it be that in the definition of selectCovered() the clause <T extends 
>> Annotation> allows only direct sub-types of Annotation? Interestingly 
>> enough, if I don’t parameterize the sub-class FEs, I don’t get any errors. 
>> Thanks a lot. 
>> 
>> Cheers, 
>> 
>> Martin
> 

Reply via email to