1515 */
1616package org .mybatis .dynamic .sql ;
1717
18+ import java .util .Objects ;
1819import java .util .Optional ;
1920
2021import org .jspecify .annotations .Nullable ;
2122import org .mybatis .dynamic .sql .render .RenderingContext ;
2223import org .mybatis .dynamic .sql .select .SelectModel ;
2324import org .mybatis .dynamic .sql .select .render .SubQueryRenderer ;
24- import org .mybatis .dynamic .sql .util .Buildable ;
2525import org .mybatis .dynamic .sql .util .FragmentAndParameters ;
2626
2727public class SubQueryColumn implements BasicColumn {
28- private final Buildable < SelectModel > subQuery ;
28+ private final SelectModel selectModel ;
2929 private @ Nullable String alias ;
3030
31- private SubQueryColumn (Buildable < SelectModel > subQuery ) {
32- this .subQuery = subQuery ;
31+ private SubQueryColumn (SelectModel selectModel ) {
32+ this .selectModel = Objects . requireNonNull ( selectModel ) ;
3333 }
3434
3535 @ Override
@@ -39,22 +39,22 @@ public Optional<String> alias() {
3939
4040 @ Override
4141 public SubQueryColumn as (String alias ) {
42- SubQueryColumn answer = new SubQueryColumn (subQuery );
42+ SubQueryColumn answer = new SubQueryColumn (selectModel );
4343 answer .alias = alias ;
4444 return answer ;
4545 }
4646
4747 @ Override
4848 public FragmentAndParameters render (RenderingContext renderingContext ) {
49- return SubQueryRenderer .withSelectModel (subQuery . build () )
49+ return SubQueryRenderer .withSelectModel (selectModel )
5050 .withRenderingContext (renderingContext )
5151 .withPrefix ("(" ) //$NON-NLS-1$
5252 .withSuffix (")" ) //$NON-NLS-1$
5353 .build ()
5454 .render ();
5555 }
5656
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 );
5959 }
6060}
0 commit comments