...
To express the semantics of full window processing on DataStream, we need to define the corresponding method in DataStream class. One approach is to directly add a windowa window(WindowAssigner assigner) method. This method only supports passing the EndOfStreamWindows introduced in FLIP-331.
The corresponding job code will be dataStream.window(EndOfStreamWindows.get())
if full window processing is desired.
...