11/**
2- * Copyright 2016-2018 the original author or authors.
2+ * Copyright 2016-2019 the original author or authors.
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
1515 */
1616package org .mybatis .dynamic .sql .delete .render ;
1717
18- import static org .mybatis .dynamic .sql .util .StringUtilities .spaceBefore ;
19-
2018import java .util .HashMap ;
2119import java .util .Map ;
2220import java .util .Objects ;
23- import java .util .Optional ;
24-
25- import org .mybatis .dynamic .sql .where .render .WhereClauseProvider ;
2621
2722public class DefaultDeleteStatementProvider implements DeleteStatementProvider {
28- private String tableName ;
29- private Optional <String > whereClause ;
23+ private String deleteStatement ;
3024 private Map <String , Object > parameters ;
3125
3226 private DefaultDeleteStatementProvider (Builder builder ) {
33- tableName = Objects .requireNonNull (builder .tableName );
34- whereClause = Optional .ofNullable (builder .whereClause );
27+ deleteStatement = Objects .requireNonNull (builder .deleteStatement );
3528 parameters = Objects .requireNonNull (builder .parameters );
3629 }
3730
@@ -42,30 +35,24 @@ public Map<String, Object> getParameters() {
4235
4336 @ Override
4437 public String getDeleteStatement () {
45- return "delete from" //$NON-NLS-1$
46- + spaceBefore (tableName )
47- + spaceBefore (whereClause );
38+ return deleteStatement ;
4839 }
4940
50- public static Builder withTableName (String tableName ) {
51- return new Builder ().withTableName ( tableName );
41+ public static Builder withDeleteStatement (String deleteStatement ) {
42+ return new Builder ().withDeleteStatement ( deleteStatement );
5243 }
5344
5445 public static class Builder {
55- private String tableName ;
56- private String whereClause ;
46+ private String deleteStatement ;
5747 private Map <String , Object > parameters = new HashMap <>();
5848
59- public Builder withTableName (String tableName ) {
60- this .tableName = tableName ;
49+ public Builder withDeleteStatement (String deleteStatement ) {
50+ this .deleteStatement = deleteStatement ;
6151 return this ;
6252 }
6353
64- public Builder withWhereClause (Optional <WhereClauseProvider > whereClauseProvider ) {
65- whereClauseProvider .ifPresent (wcp -> {
66- whereClause = wcp .getWhereClause ();
67- parameters .putAll (wcp .getParameters ());
68- });
54+ public Builder withParameters (Map <String , Object > parameters ) {
55+ this .parameters .putAll (parameters );
6956 return this ;
7057 }
7158
0 commit comments