public FieldValue getFieldValue(StructuredFieldValue doc) { Object raw = extract.get(doc); return raw == null ? null : getDataType().createFieldValue(raw); } public FieldValue setFieldValue(StructuredFieldValue doc, FieldValue fv) {
@Override public FieldValue getFieldValue(StructuredFieldValue doc) { StringFieldValue sfv = (StringFieldValue) super.getFieldValue(doc); Map<String, SpanTree> trees = extractSpanTrees.get(doc); if (trees != null) { for (SpanTree tree : trees.values()) { sfv.setSpanTree(tree); } } return sfv; }
@Override public FieldValue setFieldValue(StructuredFieldValue doc, FieldValue fv) { FieldValue old = getFieldValue(doc); StringFieldValue sfv = (StringFieldValue) fv; super.setFieldValue(doc, sfv); Map<String, SpanTree> trees = null; if (sfv != null) { trees = sfv.getSpanTreeMap(); if (trees == null) { trees = new HashMap<>(); } } extractSpanTrees.set(doc, trees); return old; }
public FieldValue setFieldValue(StructuredFieldValue doc, FieldValue fv) { FieldValue old = getFieldValue(doc); extract.set(doc, (fv == null) ? null : fv.getWrappedValue()); return old; } }