/** * Getter for the Lemma of the token. * @return the Lemma of the Token or <code>null</code> if not available */ public String getTokenLemma(){ return morpho != null ? morpho.getLemma() : null; } @Override
@Override public ObjectNode serialize(ObjectMapper mapper, MorphoFeatures morpho){ ObjectNode jMorpho = mapper.createObjectNode(); jMorpho.put("lemma", morpho.getLemma()); List<CaseTag> caseList = morpho.getCaseList(); if(!caseList.isEmpty()){ ArrayNode jCases = mapper.createArrayNode(); List<Definitness> definitnesses = morpho.getDefinitnessList(); if(!definitnesses.isEmpty()){ if(definitnesses.size() == 1){ List<GenderTag> genderList = morpho.getGenderList(); if(!genderList.isEmpty()){ ArrayNode jGenders = mapper.createArrayNode(); List<NumberTag> numberList = morpho.getNumberList(); if(!numberList.isEmpty()){ ArrayNode jNumbers = mapper.createArrayNode(); List<Person> persons = morpho.getPersonList(); if(!persons.isEmpty()){ if(persons.size() == 1){ List<PosTag> posList = morpho.getPosList(); if(!posList.isEmpty()){ ArrayNode jPosTags = mapper.createArrayNode(); List<TenseTag> tenseList = morpho.getTenseList(); if(!tenseList.isEmpty()){
MorphoFeatures morpho = new MorphoFeatures(jLemma.asText()); JsonNode node = jMorpho.path("case"); if(node.isArray()){ EnumSet<Case> type = JsonUtils.parseEnum(jCase, "type", Case.class); if(type.isEmpty()){ morpho.addCase(new CaseTag(tag.getTextValue())); } else { morpho.addCase(new CaseTag(tag.getTextValue(),type.iterator().next())); morpho.addDefinitness(d); EnumSet<Gender> type = JsonUtils.parseEnum(jGender, "type", Gender.class); if(type.isEmpty()){ morpho.addGender(new GenderTag(tag.getTextValue())); } else { morpho.addGender(new GenderTag(tag.getTextValue(),type.iterator().next())); EnumSet<NumberFeature> type = JsonUtils.parseEnum(jNumber, "type", NumberFeature.class); if(type.isEmpty()){ morpho.addNumber(new NumberTag(tag.getTextValue())); } else { morpho.addNumber(new NumberTag(tag.getTextValue(),type.iterator().next())); morpho.addPerson(p); if(member.isObject()){ ObjectNode jPosTag = (ObjectNode)member; morpho.addPos(getPosTagParser().parse(jPosTag, at));
MorphoFeatures morpho = null; if(baseFormAttr != null && baseFormAttr.getBaseForm() != null){ morpho = new MorphoFeatures(baseFormAttr.getBaseForm()); morpho.addPos(posTag); //and add the posTag
for(PosTag mfPos : mf.getPosList()){ mfCats.addAll(mfPos.getCategories());
@Override public ObjectNode serialize(ObjectMapper mapper, MorphoFeatures morpho){ ObjectNode jMorpho = mapper.createObjectNode(); jMorpho.put("lemma", morpho.getLemma()); List<CaseTag> caseList = morpho.getCaseList(); if(!caseList.isEmpty()){ ArrayNode jCases = mapper.createArrayNode(); List<Definitness> definitnesses = morpho.getDefinitnessList(); if(!definitnesses.isEmpty()){ if(definitnesses.size() == 1){ List<GenderTag> genderList = morpho.getGenderList(); if(!genderList.isEmpty()){ ArrayNode jGenders = mapper.createArrayNode(); List<NumberTag> numberList = morpho.getNumberList(); if(!numberList.isEmpty()){ ArrayNode jNumbers = mapper.createArrayNode(); List<Person> persons = morpho.getPersonList(); if(!persons.isEmpty()){ if(persons.size() == 1){ List<PosTag> posList = morpho.getPosList(); if(!posList.isEmpty()){ ArrayNode jPosTags = mapper.createArrayNode(); List<TenseTag> tenseList = morpho.getTenseList(); if(!tenseList.isEmpty()){
MorphoFeatures morpho = new MorphoFeatures(jLemma.asText()); JsonNode node = jMorpho.path("case"); if(node.isArray()){ EnumSet<Case> type = JsonUtils.parseEnum(jCase, "type", Case.class); if(type.isEmpty()){ morpho.addCase(new CaseTag(tag.getTextValue())); } else { morpho.addCase(new CaseTag(tag.getTextValue(),type.iterator().next())); morpho.addDefinitness(d); EnumSet<Gender> type = JsonUtils.parseEnum(jGender, "type", Gender.class); if(type.isEmpty()){ morpho.addGender(new GenderTag(tag.getTextValue())); } else { morpho.addGender(new GenderTag(tag.getTextValue(),type.iterator().next())); EnumSet<NumberFeature> type = JsonUtils.parseEnum(jNumber, "type", NumberFeature.class); if(type.isEmpty()){ morpho.addNumber(new NumberTag(tag.getTextValue())); } else { morpho.addNumber(new NumberTag(tag.getTextValue(),type.iterator().next())); morpho.addPerson(p); if(member.isObject()){ ObjectNode jPosTag = (ObjectNode)member; morpho.addPos(getPosTagParser().parse(jPosTag, at));
selectMorphoFeature : for(Value<MorphoFeatures> morphoAnnotation : morphoAnnotations){ for(PosTag posTag : morphoAnnotation.value().getPosList()){ if(!disjoint(selectedPosTag.getCategories(),posTag.getCategories())){ mf = morphoAnnotation.value();
selectMorphoFeature : for(Value<MorphoFeatures> morphoAnnotation : morphoAnnotations){ for(PosTag posTag : morphoAnnotation.value().getPosList()){ if(!disjoint(selectedPosTag.getCategories(),posTag.getCategories())){ mf = morphoAnnotation.value();
/** * Getter for the Lemma of the token. * @return the Lemma of the Token or <code>null</code> if not available */ public String getTokenLemma(){ return morpho != null ? morpho.getLemma() : null; } @Override
log.debug(" > {}: {} {}(pos:{}) chunk: '{}'", new Object[]{tokenData.index,tokenData.token, tokenData.morpho != null ? ("(lemma: "+tokenData.morpho.getLemma()+") ") : "", tokenData.token.getAnnotations(POS_ANNOTATION), tokenData.inChunk != null ? tokenData.inChunk.chunk.getSpan() : "none"});
log.debug(" > {}: {} {}(pos:{}) chunk: '{}'", new Object[]{tokenData.index,tokenData.token, tokenData.morpho != null ? ("(lemma: "+tokenData.morpho.getLemma()+") ") : "", tokenData.token.getAnnotations(POS_ANNOTATION), tokenData.inChunk != null ? tokenData.inChunk.chunk.getSpan() : "none"});