in src/main/java/org/apache/uima/json/jsoncas2/ser/FeatureSerializer.java [58:83]
public void serialize(Feature aFeature, JsonGenerator jg, SerializerProvider aProvider)
throws IOException {
ReferenceCache refCache = ReferenceCache.get(aProvider);
jg.writeStartObject(aFeature);
jg.writeStringField(NAME_FIELD, aFeature.getShortName());
// special check for array range types, which are represented in the CAS as
// elementType[] but in the descriptor as an FSArray with an <elementType>
Type rangeType = aFeature.getRange();
if (rangeType.isArray() && !rangeType.getComponentType().isPrimitive()) {
switch (arrayMode) {
case AS_ARRAY_TYPED_RANGE:
serializeArrayFieldAsRangeWithArrayMarker(refCache, jg, aFeature);
break;
case AS_RANGE_AND_ELEMENT:
serializeArrayFieldAsTypeAndElementType(refCache, jg, aFeature);
break;
}
} else {
serializeField(refCache, jg, aFeature);
}
jg.writeEndObject();
}