Skip to content

Commit c259e2c

Browse files
committed
Adding better encapsulation and code cleanup
1 parent 7ad5de1 commit c259e2c

4 files changed

Lines changed: 81 additions & 44 deletions

File tree

10.3 MB
Binary file not shown.

JsonToJava-Lib/src/com/jsontojava/Member.java

Lines changed: 49 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
public class Member {
1010
private Set<String> mModifiers;
11-
public String fieldName;
12-
public String jsonField;
13-
public String type;
14-
public String name;
11+
private String mFieldName;
12+
private String mJsonField;
13+
private String mType;
14+
private String mName;
1515

1616
public static class Builder {
1717
private static final Inflector mInflector = new Inflector();
@@ -70,10 +70,10 @@ public Member.Builder addModifier(String modifier) {
7070

7171
public Member build(){
7272
Member member = new Member();
73-
member.name = mName;
74-
member.type = mType;
75-
member.fieldName = mFieldConstantName;
76-
member.jsonField = mJsonField;
73+
member.setName(mName);
74+
member.setType(mType);
75+
member.setFieldName(mFieldConstantName);
76+
member.setJsonField(mJsonField);
7777
member.mModifiers = mModifiers;
7878
return member;
7979

@@ -86,23 +86,23 @@ public Member build(){
8686
public boolean equals(Object obj) {
8787
if (obj instanceof Member) {
8888

89-
return ((Member) obj).name.equals(name);
89+
return ((Member) obj).getName().equals(getName());
9090
}
9191
return false;
9292
}
9393

9494
@Override
9595
public int hashCode() {
96-
return name.hashCode();
96+
return getName().hashCode();
9797
}
9898

9999
public String getGetterSignature() {
100100
StringBuilder sBuilder = new StringBuilder();
101-
String methodName = StringUtils.removeStart(name, "m");
101+
String methodName = StringUtils.removeStart(getName(), "m");
102102

103103
String setPrefix = "get";
104104
try{
105-
if (type.equals("boolean")) {
105+
if (getType().equals("boolean")) {
106106
setPrefix = "is";
107107
}
108108
}catch (NullPointerException e){
@@ -115,19 +115,51 @@ public String getGetterSignature() {
115115

116116
public String getSetter(Inflector inflector) {
117117
StringBuilder sBuilder = new StringBuilder();
118-
String methodName = StringUtils.removeStart(name, "m");
118+
String methodName = StringUtils.removeStart(getName(), "m");
119119
String nameNoPrefix = inflector.camelCase(methodName, false);
120-
sBuilder.append(" public void set").append(methodName).append("(").append(type).append(" ")
121-
.append(nameNoPrefix).append(") {\n ").append(name).append(" = ").append(nameNoPrefix)
120+
sBuilder.append(" public void set").append(methodName).append("(").append(getType()).append(" ")
121+
.append(nameNoPrefix).append(") {\n ").append(getName()).append(" = ").append(nameNoPrefix)
122122
.append(";").append("\n }\n\n");
123123
return sBuilder.toString();
124124
}
125125

126126
public String getGetter() {
127127
StringBuilder sBuilder = new StringBuilder();
128128

129-
sBuilder.append(" public ").append(type).append(" ").append(getGetterSignature())
130-
.append(" {\n return ").append(name).append(";\n }\n\n");
129+
sBuilder.append(" public ").append(getType()).append(" ").append(getGetterSignature())
130+
.append(" {\n return ").append(getName()).append(";\n }\n\n");
131131
return sBuilder.toString();
132132
}
133+
134+
public String getFieldName() {
135+
return mFieldName;
136+
}
137+
138+
public void setFieldName(String fieldName) {
139+
this.mFieldName = fieldName;
140+
}
141+
142+
public String getJsonField() {
143+
return mJsonField;
144+
}
145+
146+
public void setJsonField(String jsonField) {
147+
this.mJsonField = jsonField;
148+
}
149+
150+
public String getType() {
151+
return mType;
152+
}
153+
154+
public void setType(String type) {
155+
this.mType = type;
156+
}
157+
158+
public String getName() {
159+
return mName;
160+
}
161+
162+
public void setName(String name) {
163+
this.mName = name;
164+
}
133165
}

JsonToJava-Lib/src/com/jsontojava/NewType.java

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public String getColumns(){
112112

113113
// column names
114114
for(Member member:members){
115-
String simpleName = StringUtils.removeStart(member.name, "m");
115+
String simpleName = StringUtils.removeStart(member.getName(), "m");
116116
String underscoreMember = mInflector.underscore(simpleName);
117117
sb.append(ONE_TAB).append(PUBLIC_STATIC_FINAL).append("String COLUMN_NAME_").append(underscoreMember.toUpperCase()).append(" = \"").append(underscoreMember.toLowerCase()).append("\";\n\n");
118118
}
@@ -150,7 +150,7 @@ public String toPojoString(EnumSet<OutputOption> options,JsonToJava jsonToJava)
150150
// eg. private static final String FIELD_FIRST_NAME = "first_name";
151151
for (Member member : members) {
152152
sBuilder.append(
153-
ONE_TAB+"private static final String " + member.fieldName + " = \"" + member.jsonField + "\";")
153+
ONE_TAB+"private static final String " + member.getFieldName() + " = \"" + member.getJsonField() + "\";")
154154
.append("\n");
155155
}
156156
sBuilder.append("\n\n");
@@ -159,9 +159,9 @@ public String toPojoString(EnumSet<OutputOption> options,JsonToJava jsonToJava)
159159
// annotation for Gson
160160
for (Member member : members) {
161161
if (options.contains(OutputOption.GSON)) {
162-
sBuilder.append(ONE_TAB+"@SerializedName(" + member.fieldName + ")\n");
162+
sBuilder.append(ONE_TAB+"@SerializedName(" + member.getFieldName() + ")\n");
163163
}
164-
sBuilder.append(ONE_TAB+"private " + member.type + " " + member.name + ";").append("\n");
164+
sBuilder.append(ONE_TAB+"private " + member.getType() + " " + member.getName() + ";").append("\n");
165165
}
166166
sBuilder.append("\n\n");
167167

@@ -181,26 +181,32 @@ public String toPojoString(EnumSet<OutputOption> options,JsonToJava jsonToJava)
181181
}
182182

183183
sBuilder.append("\n}");
184+
System.out.println(getColumns());
184185
return sBuilder.toString();
185186
}
186187

187188
private String generateExtraMethods() {
188189
String type = StringUtils.removeEnd(StringUtils.removeStart(name, "List<"), ">");
189190
for (Member member : members) {
190-
if (member.name.equalsIgnoreCase("mId") || member.name.equalsIgnoreCase("mUniqueId")) {
191+
if (member.getName().equalsIgnoreCase("mId") || member.getName().equalsIgnoreCase("mUniqueId")) {
191192
StringBuilder sb = new StringBuilder();
192193

193194
sb.append(ONE_TAB+"@Override\n");
194195
sb.append(ONE_TAB+"public boolean equals(Object obj){\n");
195196
sb.append(TWO_TABS+"if(obj instanceof ").append(type).append("){\n");
196-
sb.append(ONE_TAB+TWO_TABS+"return ((").append(type).append(") obj).").append(member.getGetterSignature())
197-
.append(".equals(").append(member.name).append(");\n");
197+
if(TypeUtils.isPrimitiveType(member.getType())){
198+
sb.append(ONE_TAB+TWO_TABS+"return ((").append(type).append(") obj).").append(member.getGetterSignature())
199+
.append(".equals(").append(member.getName()).append(");\n");
200+
}else{
201+
sb.append(ONE_TAB+TWO_TABS+"return ((").append(type).append(") obj).").append(member.getGetterSignature())
202+
.append(".equals(").append(member.getName()).append(");\n");
203+
}
198204
sb.append(TWO_TABS+"}\n");
199205
sb.append(TWO_TABS+"return false;\n");
200206
sb.append(ONE_TAB+"}\n\n");
201207
sb.append(ONE_TAB+"@Override\n");
202208
sb.append(ONE_TAB+"public int hashCode(){\n");
203-
sb.append(TWO_TABS+"return ").append(member.name).append(".hashCode();\n");
209+
sb.append(TWO_TABS+"return ").append(member.getName()).append(".hashCode();\n");
204210
sb.append(ONE_TAB+"}\n\n");
205211
return sb.toString();
206212
}
@@ -214,29 +220,29 @@ private String generateParcelableCode(Map<String,NewType> types) {
214220
sb.append(ONE_TAB+"public ").append(name).append("(Parcel in) {\n");
215221
for (Member member : members) {
216222

217-
if (member.type.startsWith("List")) {
218-
String type = StringUtils.removeEnd(StringUtils.removeStart(member.type, "List<"), ">");
223+
if (member.getType().startsWith("List")) {
224+
String type = StringUtils.removeEnd(StringUtils.removeStart(member.getType(), "List<"), ">");
219225
if (TypeUtils.isPrimitiveType(type)) {
220226
sb.append(TWO_TABS+"in.readArrayList(").append(type).append(".class.getClassLoader());");
221227

222228
} else {
223-
sb.append(TWO_TABS).append(member.name);
229+
sb.append(TWO_TABS).append(member.getName());
224230
sb.append(" = new ArrayList<").append(type).append(">();\n");
225231

226-
sb.append(TWO_TABS+"in.readTypedList(").append(member.name).append(", ").append(type);
232+
sb.append(TWO_TABS+"in.readTypedList(").append(member.getName()).append(", ").append(type);
227233
sb.append(".CREATOR);");
228234

229235
}
230236
} else {
231237
sb.append(ONE_TAB+ONE_TAB);
232-
sb.append(member.name).append(" = ");
233-
if (member.type.equals("boolean")) {
238+
sb.append(member.getName()).append(" = ");
239+
if (member.getType().equals("boolean")) {
234240

235241
sb.append("in.readInt() == 1 ? true: false;");
236-
} else if (types.containsKey(member.type)) {
237-
sb.append("in.readParcelable(").append(member.type).append(".class.getClassLoader());");
242+
} else if (types.containsKey(member.getType())) {
243+
sb.append("in.readParcelable(").append(member.getType()).append(".class.getClassLoader());");
238244
} else {
239-
sb.append("in.read").append(StringUtils.capitalize(member.type)).append("();");
245+
sb.append("in.read").append(StringUtils.capitalize(member.getType())).append("();");
240246

241247
}
242248
}
@@ -260,20 +266,20 @@ private String generateParcelableCode(Map<String,NewType> types) {
260266
sb.append(ONE_TAB+"public void writeToParcel(Parcel dest, int flags) {\n");
261267
for (Member member : members) {
262268
sb.append(ONE_TAB+ONE_TAB);
263-
if (member.type.startsWith("List")) {
264-
String type = StringUtils.removeEnd(StringUtils.removeStart(member.type, "List<"), ">");
269+
if (member.getType().startsWith("List")) {
270+
String type = StringUtils.removeEnd(StringUtils.removeStart(member.getType(), "List<"), ">");
265271
if (TypeUtils.isPrimitiveType(type)) {
266-
sb.append("dest.writeList(").append(member.name).append(");");
272+
sb.append("dest.writeList(").append(member.getName()).append(");");
267273

268274
} else {
269-
sb.append("dest.writeTypedList(").append(member.name).append(");");
275+
sb.append("dest.writeTypedList(").append(member.getName()).append(");");
270276
}
271-
} else if (member.type.equals("boolean")) {
272-
sb.append("dest.writeInt(").append(member.name).append(" ? 1 : 0);");
273-
} else if (types.containsKey(member.type)) {
274-
sb.append("dest.writeParcelable(").append(member.name).append(", flags);");
277+
} else if (member.getType().equals("boolean")) {
278+
sb.append("dest.writeInt(").append(member.getName()).append(" ? 1 : 0);");
279+
} else if (types.containsKey(member.getType())) {
280+
sb.append("dest.writeParcelable(").append(member.getName()).append(", flags);");
275281
} else {
276-
sb.append("dest.write").append(StringUtils.capitalize(member.type)).append("(").append(member.name)
282+
sb.append("dest.write").append(StringUtils.capitalize(member.getType())).append("(").append(member.getName())
277283
.append(");");
278284

279285
}

JsonToJava-Lib/src/com/jsontojava/TypeUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ public static String getPrimitiveType(Object current) {
7373
clazz = PRIMITIVE_DOUBLE;
7474
}
7575
if (clazz.equals(TYPE_STRING)) {
76-
7776
try {
7877
long l = Long.parseLong((String) current);
7978
clazz = PRIMITIVE_LONG;

0 commit comments

Comments
 (0)