2013-12-23 3 views
3

Я хотел бы иметь возможность получить общую функцию из разных типов аннотаций. Возможно ли создать подклассы аннотаций, а затем получить их по суперклассу?Возможно ли создать иерархию аннотаций с UIMA?

Это то, как я это делаю в данный момент, но я хотел бы получить общий суперкласмент аннотации, а не конкретный.

TypeSystem typeSystem = jcas.getTypeSystem(); 
Type type = typeSystem.getType("com.example.SpecificAnnotation"); 
AnnotationIndex<Annotation> annotationIndex = jcas.getAnnotationIndex(type); 
Annotation annotation = annotationIndex.iterator().next(); 
String value = annotation.getFeatureValueAsString(type.getFeatureByBaseName("value")); 

ответ

3

Вы можете создать аннотацию типа X с общими функциями. Затем вы можете создавать дополнительные типы аннотаций, которые наследуются от вашего типа X, а не наследуют от Annotation.

+0

так же, как вы бы сделали с классом Java, наследующим от другого. – Renaud

+0

Вид. Имейте в виду, что вы не должны наследовать сам Java-класс JCas самостоятельно (если вы используете JCas). Вы должны определить тип в дескрипторе системы типа для наследования другого типа. Если вы создаете классы JCas из этих типов, они также наследуются друг от друга. – rec