private static Object deserializeSketch()

in src/main/java/org/apache/datasketches/server/MergeHandler.java [203:235]


  private static Object deserializeSketch(final Family family, final String b64String) {
    if (family == null || b64String == null) {
      return null;
    }

    final Memory skBytes = Memory.wrap(Base64.getUrlDecoder().decode(b64String));

    switch (family) {
      case QUICKSELECT:
        return CompactSketch.heapify(skBytes);

      case HLL:
        return HllSketch.heapify(skBytes);

      case CPC:
        return CpcSketch.heapify(skBytes);

      case KLL:
        return KllFloatsSketch.heapify(skBytes);

      case FREQUENCY:
        return ItemsSketch.getInstance(skBytes, new ArrayOfStringsSerDe());

      case RESERVOIR:
        return ReservoirItemsSketch.heapify(skBytes, new ArrayOfStringsSerDe());

      case VAROPT:
        return VarOptItemsSketch.heapify(skBytes, new ArrayOfStringsSerDe());

      default:
        throw new SketchesException("Unsupported sketch family: " + family);
    }
  }