public Windows jsonDecode()

in flink-ml-core/src/main/java/org/apache/flink/ml/param/WindowsParam.java [69:94]


    public Windows jsonDecode(Object json) {
        Map<String, Object> map = (Map<String, Object>) json;

        String classString = (String) map.get("class");
        if (classString.equals(GlobalWindows.class.getName())) {
            return GlobalWindows.getInstance();
        } else if (classString.equals(CountTumblingWindows.class.getName())) {
            long size = ((Number) map.get("size")).longValue();
            return CountTumblingWindows.of(size);
        } else if (classString.equals(ProcessingTimeTumblingWindows.class.getName())) {
            Time size = Time.milliseconds(((Number) map.get("size")).longValue());
            return ProcessingTimeTumblingWindows.of(size);
        } else if (classString.equals(EventTimeTumblingWindows.class.getName())) {
            Time size = Time.milliseconds(((Number) map.get("size")).longValue());
            return EventTimeTumblingWindows.of(size);
        } else if (classString.equals(ProcessingTimeSessionWindows.class.getName())) {
            Time gap = Time.milliseconds(((Number) map.get("gap")).longValue());
            return ProcessingTimeSessionWindows.withGap(gap);
        } else if (classString.equals(EventTimeSessionWindows.class.getName())) {
            Time gap = Time.milliseconds(((Number) map.get("gap")).longValue());
            return EventTimeSessionWindows.withGap(gap);
        } else {
            throw new UnsupportedOperationException(
                    String.format("Unsupported %s subclass: %s", Windows.class, classString));
        }
    }