private synchronized ObjectMapper getMapper()

in src/main/java/org/apache/uima/json/jsoncas2/JsonCas2Deserializer.java [58:86]


  private synchronized ObjectMapper getMapper() {
    if (cachedMapper == null) {
      SimpleModule module = new SimpleModule("UIMA CAS JSON",
              new Version(1, 0, 0, null, null, null));

      module.addDeserializer(CAS.class, new CasDeserializer());
      module.addDeserializer(FeatureStructure.class, new FeatureStructureDeserializer());

      switch (fsMode) {
        case AS_ARRAY:
          module.addDeserializer(FeatureStructures.class,
                  new FeatureStructuresAsArrayDeserializer());
          break;
        case AS_OBJECT:
          module.addDeserializer(FeatureStructures.class,
                  new FeatureStructuresAsObjectDeserializer());
          break;
      }

      module.addDeserializer(FeatureDescription.class, new FeatureDeserializer());
      module.addDeserializer(TypeDescription.class, new TypeDeserializer());
      module.addDeserializer(TypeSystemDescription.class, new TypeSystemDeserializer());
      module.addDeserializer(Views.class, new ViewsDeserializer());

      cachedMapper = new ObjectMapper();
      cachedMapper.registerModule(module);
    }
    return cachedMapper;
  }