private static void writePrimitiveValue(PrintWriter aOut, TsvDocument aDoc, TsvColumn aCol, AnnotationFS aFS) { Object value = getFeature(aFS, aCol.uimaFeature, Object.class); value = value == null ? NULL_VALUE : escapeValue(String.valueOf(value)); aOut.print(value); }
private static AnnotationFS makeChainLink(Type aType, CAS aCas, int aBegin, int aEnd, String aLabel, String aLinkLabel, AnnotationFS aNext) { AnnotationFS link = aCas.createAnnotation(aType, aBegin, aEnd); FSUtil.setFeature(link, "next", aNext); FSUtil.setFeature(link, "referenceType", aLabel); FSUtil.setFeature(link, "referenceRelation", aLinkLabel); aCas.addFsToIndexes(link); return link; }
private Object getValue(FeatureStructure fs, AnnotationFeature aFeature) { Object value; Feature f = fs.getType().getFeatureByBaseName(aFeature.getName()); if (f.getRange().isPrimitive()) { value = FSUtil.getFeature(fs, aFeature.getName(), Object.class); } else if (FSUtil.isMultiValuedFeature(fs, f)) { value = FSUtil.getFeature(fs, aFeature.getName(), List.class); } else { value = FSUtil.getFeature(fs, aFeature.getName(), FeatureStructure.class); } return value; }
public static <T> T getFeature(FeatureStructure aFS, String aFeature, Class<T> aClazz) { Feature feat = getMandatoryFeature(aFS, aFeature); return getFeature(aFS, feat, aClazz); }
public static void setFeature(FeatureStructure aFS, String aFeature, byte... aValue) { Feature feat = getMandatoryFeature(aFS, aFeature); if (feat.getRange().isPrimitive()) { requireSingleValue(feat, aValue); aFS.setByteValue(feat, aValue[0]); } else if (aValue == null) { aFS.setFeatureValue(feat, null); } else { aFS.setFeatureValue(feat, createByteArray(aFS.getCAS(), aValue)); } }
AnnotationFS target = getFeature(rel, WebAnnoConst.FEAT_REL_TARGET, AnnotationFS.class); if ((rel.getBegin() != target.getBegin()) || (rel.getEnd() != target.getEnd())) { fixedRels.add(rel); setFeature(rel, CAS.FEATURE_BASE_NAME_BEGIN, target.getBegin()); setFeature(rel, CAS.FEATURE_BASE_NAME_END, target.getEnd());
public static boolean isMultiValuedFeature(FeatureStructure aFS, String aFeature) { Feature feat = aFS.getType().getFeatureByBaseName(aFeature); return isMultiValuedFeature(aFS, feat); }
public static void setFeature(FeatureStructure aFS, String aFeature, FeatureStructure... aValue) { Feature feat = getMandatoryFeature(aFS, aFeature); if (feat.getRange().isArray()) { aFS.setFeatureValue(feat, createArrayFS(aFS.getCAS(), aValue)); } else if (aValue == null) { aFS.setFeatureValue(feat, null); } else if (isListType(aFS.getCAS().getTypeSystem(), feat.getRange())) { aFS.setFeatureValue(feat, createFSList(aFS.getCAS(), aValue)); } else { requireSingleValue(feat, aValue); aFS.setFeatureValue(feat, aValue[0]); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) public static void setFeature(FeatureStructure aFS, String aFeature, Collection aValue) { Feature feat = getMandatoryFeature(aFS, aFeature); if (aValue == null) { aFS.setFeatureValue(feat, null);
assert targetAnnotation != null; setFeature(aAnnotation, FEAT_REL_SOURCE, sourceAnnotation); setFeature(aAnnotation, FEAT_REL_TARGET, targetAnnotation); }); break; if (!NULL_VALUE.equals(value)) { String role = Escaping.unescapeValue(value); setFeature(linkFS, FEAT_SLOT_ROLE, role); setFeature(aAnnotation, aCol.uimaFeature.getShortName(), links); break; FeatureStructure[] links = getFeature(aAnnotation, aCol.uimaFeature.getShortName(), FeatureStructure[].class); .resolveReference(aCol.getTargetTypeHint(), value, disambiguationId); setFeature(links[i], FEAT_SLOT_TARGET, targetAnnotation);
public static boolean isMultiValuedFeature(FeatureStructure aFS, Feature feat) { return isMultiValuedFeature(aFS.getCAS().getTypeSystem(), feat); }
public static void setFeature(FeatureStructure aFS, String aFeature, long... aValue) { Feature feat = getMandatoryFeature(aFS, aFeature); if (feat.getRange().isPrimitive()) { requireSingleValue(feat, aValue); aFS.setLongValue(feat, aValue[0]); } else if (aValue == null) { aFS.setFeatureValue(feat, null); } else { aFS.setFeatureValue(feat, createLongArray(aFS.getCAS(), aValue)); } }
private static void writePrimitiveValue(PrintWriter aOut, TsvDocument aDoc, TsvColumn aCol, AnnotationFS aFS) { Object value = getFeature(aFS, aCol.uimaFeature, Object.class); value = value == null ? NULL_VALUE : escapeValue(String.valueOf(value)); aOut.print(value); }
setFeature(head, CHAIN_FIRST_FEAT, link); cas.addFsToIndexes(head); while (linkIterator.hasNext()) { link = linkIterator.next(); setFeature(prevLink, CHAIN_NEXT_FEAT, link); prevLink = link;
assert targetAnnotation != null; setFeature(aAnnotation, FEAT_REL_SOURCE, sourceAnnotation); setFeature(aAnnotation, FEAT_REL_TARGET, targetAnnotation); }); break; if (!NULL_VALUE.equals(value)) { String role = Escaping.unescapeValue(value); setFeature(linkFS, FEAT_SLOT_ROLE, role); setFeature(aAnnotation, aCol.uimaFeature.getShortName(), links); break; FeatureStructure[] links = getFeature(aAnnotation, aCol.uimaFeature.getShortName(), FeatureStructure[].class); .resolveReference(aCol.getTargetTypeHint(), value, disambiguationId); setFeature(links[i], FEAT_SLOT_TARGET, targetAnnotation);
private Object getValue(FeatureStructure fs, AnnotationFeature aFeature) { Object value; Feature f = fs.getType().getFeatureByBaseName(aFeature.getName()); if (f.getRange().isPrimitive()) { value = FSUtil.getFeature(fs, aFeature.getName(), Object.class); } else if (FSUtil.isMultiValuedFeature(fs, f)) { value = FSUtil.getFeature(fs, aFeature.getName(), List.class); } else { value = FSUtil.getFeature(fs, aFeature.getName(), FeatureStructure.class); } return value; }
private boolean isSlotFeature(TypeSystem aTS, Feature aFeature) if (!FSUtil.isMultiValuedFeature(aTS, aFeature)) { return false;
public static void setFeature(FeatureStructure aFS, String aFeature, double... aValue) { Feature feat = getMandatoryFeature(aFS, aFeature); if (feat.getRange().isPrimitive()) { requireSingleValue(feat, aValue); aFS.setDoubleValue(feat, aValue[0]); } else if (aValue == null) { aFS.setFeatureValue(feat, null); } else { aFS.setFeatureValue(feat, createDoubleArray(aFS.getCAS(), aValue)); } }
private static void writeSlotRole(PrintWriter aOut, TsvDocument aDoc, TsvColumn aCol, AnnotationFS aFS) { FeatureStructure[] links = getFeature(aFS, aCol.uimaFeature, FeatureStructure[].class); if (links != null && links.length > 0) { for (int i = 0; i < links.length; i++) { if (i > 0) { aOut.print(SLOT_SEP); } String value = getFeature(links[i], TsvSchema.FEAT_SLOT_ROLE, String.class); value = value == null ? NULL_VALUE : escapeValue(value); aOut.print(value); } } else { aOut.print(NULL_COLUMN); } writeDisambiguationId(aOut, aDoc, aFS); }
setFeature(head, CHAIN_FIRST_FEAT, link); cas.addFsToIndexes(head); while (linkIterator.hasNext()) { link = linkIterator.next(); setFeature(prevLink, CHAIN_NEXT_FEAT, link); prevLink = link;