1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.config;
17
18 import static org.mybatis.generator.internal.util.StringUtility.stringContainsSpace;
19 import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
20 import static org.mybatis.generator.internal.util.messages.Messages.getString;
21
22 import java.util.List;
23
24 public class IgnoredColumn {
25
26 protected final String columnName;
27
28 private boolean isColumnNameDelimited;
29
30 public IgnoredColumn(String columnName) {
31 super();
32 this.columnName = columnName;
33 isColumnNameDelimited = stringContainsSpace(columnName);
34 }
35
36 public String getColumnName() {
37 return columnName;
38 }
39
40 public void setColumnNameDelimited(boolean isColumnNameDelimited) {
41 this.isColumnNameDelimited = isColumnNameDelimited;
42 }
43
44 @Override
45 public boolean equals(Object obj) {
46 if (!(obj instanceof IgnoredColumn)) {
47 return false;
48 }
49
50 return columnName.equals(((IgnoredColumn) obj).getColumnName());
51 }
52
53 @Override
54 public int hashCode() {
55 return columnName.hashCode();
56 }
57
58 public void validate(List<String> errors, String tableName) {
59 if (!stringHasValue(columnName)) {
60 errors.add(getString("ValidationError.21",
61 tableName));
62 }
63 }
64
65 public boolean matches(String columnName) {
66 if (isColumnNameDelimited) {
67 return this.columnName.equals(columnName);
68 } else {
69 return this.columnName.equalsIgnoreCase(columnName);
70 }
71 }
72 }