in flink-ml-core/src/main/java/org/apache/flink/ml/param/WindowsParam.java [44:65]
public Object jsonEncode(Windows value) {
Map<String, Object> map = new HashMap<>();
map.put("class", value.getClass().getName());
if (value instanceof GlobalWindows) {
return map;
} else if (value instanceof CountTumblingWindows) {
map.put("size", ((CountTumblingWindows) value).getSize());
} else if (value instanceof ProcessingTimeTumblingWindows) {
map.put("size", ((ProcessingTimeTumblingWindows) value).getSize().toMilliseconds());
} else if (value instanceof EventTimeTumblingWindows) {
map.put("size", ((EventTimeTumblingWindows) value).getSize().toMilliseconds());
} else if (value instanceof ProcessingTimeSessionWindows) {
map.put("gap", ((ProcessingTimeSessionWindows) value).getGap().toMilliseconds());
} else if (value instanceof EventTimeSessionWindows) {
map.put("gap", ((EventTimeSessionWindows) value).getGap().toMilliseconds());
} else {
throw new UnsupportedOperationException(
String.format("Unsupported %s subclass: %s", Windows.class, value.getClass()));
}
return map;
}