1
1
/**
2
- * Copyright 2016-2018 the original author or authors.
2
+ * Copyright 2016-2019 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
15
15
*/
16
16
package org .mybatis .dynamic .sql .delete .render ;
17
17
18
- import static org .mybatis .dynamic .sql .util .StringUtilities .spaceBefore ;
19
-
20
18
import java .util .HashMap ;
21
19
import java .util .Map ;
22
20
import java .util .Objects ;
23
- import java .util .Optional ;
24
-
25
- import org .mybatis .dynamic .sql .where .render .WhereClauseProvider ;
26
21
27
22
public class DefaultDeleteStatementProvider implements DeleteStatementProvider {
28
- private String tableName ;
29
- private Optional <String > whereClause ;
23
+ private String deleteStatement ;
30
24
private Map <String , Object > parameters ;
31
25
32
26
private DefaultDeleteStatementProvider (Builder builder ) {
33
- tableName = Objects .requireNonNull (builder .tableName );
34
- whereClause = Optional .ofNullable (builder .whereClause );
27
+ deleteStatement = Objects .requireNonNull (builder .deleteStatement );
35
28
parameters = Objects .requireNonNull (builder .parameters );
36
29
}
37
30
@@ -42,30 +35,24 @@ public Map<String, Object> getParameters() {
42
35
43
36
@ Override
44
37
public String getDeleteStatement () {
45
- return "delete from" //$NON-NLS-1$
46
- + spaceBefore (tableName )
47
- + spaceBefore (whereClause );
38
+ return deleteStatement ;
48
39
}
49
40
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 );
52
43
}
53
44
54
45
public static class Builder {
55
- private String tableName ;
56
- private String whereClause ;
46
+ private String deleteStatement ;
57
47
private Map <String , Object > parameters = new HashMap <>();
58
48
59
- public Builder withTableName (String tableName ) {
60
- this .tableName = tableName ;
49
+ public Builder withDeleteStatement (String deleteStatement ) {
50
+ this .deleteStatement = deleteStatement ;
61
51
return this ;
62
52
}
63
53
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 );
69
56
return this ;
70
57
}
71
58
0 commit comments