public void serialize()

in src/main/java/org/apache/uima/json/jsoncas2/ser/ViewsSerializer.java [43:76]


  public void serialize(Views aViews, JsonGenerator jg, SerializerProvider aProvider)
          throws IOException {
    ReferenceCache refCache = ReferenceCache.get(aProvider);
    SofaMode sofaMode = SofaMode.get(aProvider);

    jg.writeStartObject();

    for (CAS view : aViews) {
      jg.writeFieldName(view.getViewName());

      jg.writeStartObject();

      switch (sofaMode) {
        case AS_PART_OF_VIEW:
          jg.writeFieldName(VIEW_SOFA_FIELD);
          aProvider.defaultSerializeValue(view.getSofa(), jg);
          break;
        case AS_REGULAR_FEATURE_STRUCTURE:
          jg.writeNumberField(VIEW_SOFA_FIELD, refCache.fsRef(view.getSofa()));
          break;
      }

      jg.writeFieldName(VIEW_MEMBERS_FIELD);
      jg.writeStartArray();
      for (int fsId : view.getIndexedFSs().stream().mapToInt(refCache::fsRef).sorted().toArray()) {
        jg.writeNumber(fsId);
      }
      jg.writeEndArray();

      jg.writeEndObject();
    }

    jg.writeEndObject();
  }