1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.dynamic.sql.select.aggregate;
17
18 import org.mybatis.dynamic.sql.BasicColumn;
19 import org.mybatis.dynamic.sql.BindableColumn;
20 import org.mybatis.dynamic.sql.render.RenderingContext;
21 import org.mybatis.dynamic.sql.select.function.AbstractUniTypeFunction;
22 import org.mybatis.dynamic.sql.util.FragmentAndParameters;
23
24 public class Max<T> extends AbstractUniTypeFunction<T, Max<T>> {
25
26 private Max(BasicColumn column) {
27 super(column);
28 }
29
30 @Override
31 public FragmentAndParameters render(RenderingContext renderingContext) {
32 return column.render(renderingContext).mapFragment(s -> "max(" + s + ")");
33 }
34
35 @Override
36 protected Max<T> copy() {
37 return new Max<>(column);
38 }
39
40 public static <T> Max<T> of(BindableColumn<T> column) {
41 return new Max<>(column);
42 }
43 }