15
15
*/
16
16
package org .mybatis .dynamic .sql ;
17
17
18
+ import java .util .Objects ;
18
19
import java .util .Optional ;
19
20
20
21
import org .jspecify .annotations .Nullable ;
21
22
import org .mybatis .dynamic .sql .render .RenderingContext ;
22
23
import org .mybatis .dynamic .sql .select .SelectModel ;
23
24
import org .mybatis .dynamic .sql .select .render .SubQueryRenderer ;
24
- import org .mybatis .dynamic .sql .util .Buildable ;
25
25
import org .mybatis .dynamic .sql .util .FragmentAndParameters ;
26
26
27
27
public class SubQueryColumn implements BasicColumn {
28
- private final Buildable < SelectModel > subQuery ;
28
+ private final SelectModel selectModel ;
29
29
private @ Nullable String alias ;
30
30
31
- private SubQueryColumn (Buildable < SelectModel > subQuery ) {
32
- this .subQuery = subQuery ;
31
+ private SubQueryColumn (SelectModel selectModel ) {
32
+ this .selectModel = Objects . requireNonNull ( selectModel ) ;
33
33
}
34
34
35
35
@ Override
@@ -39,22 +39,22 @@ public Optional<String> alias() {
39
39
40
40
@ Override
41
41
public SubQueryColumn as (String alias ) {
42
- SubQueryColumn answer = new SubQueryColumn (subQuery );
42
+ SubQueryColumn answer = new SubQueryColumn (selectModel );
43
43
answer .alias = alias ;
44
44
return answer ;
45
45
}
46
46
47
47
@ Override
48
48
public FragmentAndParameters render (RenderingContext renderingContext ) {
49
- return SubQueryRenderer .withSelectModel (subQuery . build () )
49
+ return SubQueryRenderer .withSelectModel (selectModel )
50
50
.withRenderingContext (renderingContext )
51
51
.withPrefix ("(" ) //$NON-NLS-1$
52
52
.withSuffix (")" ) //$NON-NLS-1$
53
53
.build ()
54
54
.render ();
55
55
}
56
56
57
- public static SubQueryColumn of (Buildable < SelectModel > subQuery ) {
58
- return new SubQueryColumn (subQuery );
57
+ public static SubQueryColumn of (SelectModel selectModel ) {
58
+ return new SubQueryColumn (selectModel );
59
59
}
60
60
}
0 commit comments