use of org.apache.stanbol.enhancer.nlp.pos.PosTag in project stanbol by apache.
the class PosTagSupport method parse.
@Override
public PosTag parse(ObjectNode jValue, AnalysedText at) {
PosTagInfo tagInfo = new PosTagInfo();
JsonNode tag = jValue.path("tag");
if (!tag.isTextual()) {
throw new IllegalStateException("Unable to parse PosTag. The value of the " + "'tag' field MUST have a textual value (json: " + jValue + ")");
}
tagInfo.tag = tag.getTextValue();
if (jValue.has("lc")) {
tagInfo.categories = JsonUtils.parseEnum(jValue, "lc", LexicalCategory.class);
} else {
tagInfo.categories = EnumSet.noneOf(LexicalCategory.class);
}
if (jValue.has("pos")) {
tagInfo.pos = JsonUtils.parseEnum(jValue, "pos", Pos.class);
} else {
tagInfo.pos = EnumSet.noneOf(Pos.class);
}
PosTag posTag = posTagCache.get(tagInfo);
if (posTag == null) {
posTag = new PosTag(tagInfo.tag, tagInfo.categories, tagInfo.pos);
posTagCache.put(tagInfo, posTag);
}
return posTag;
}
Aggregations