• R/O
  • SSH
  • HTTPS

jiemamy: Commit


Commit MetaInfo

Revision3757 (tree)
Time2010-04-24 13:20:36
Authorashigeru

Log Message

デフォルトコンストラクタの判定ルーチンにバグがあったのを修正。
isから始まるプロパティ名の算出にバグがあったのを修正

Change Summary

Incremental Difference

--- sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/processor/BeanPropertyModelCollector.java (revision 3756)
+++ sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/processor/BeanPropertyModelCollector.java (revision 3757)
@@ -59,7 +59,6 @@
5959 return;
6060 }
6161
62-
6362 Map<NameAndType, MethodDeclaration> setters = findSetters(methods);
6463 for (Map.Entry<NameAndType, MethodDeclaration> entry : getters.entrySet()) {
6564 NameAndType signature = entry.getKey();
@@ -68,7 +67,11 @@
6867 }
6968 MethodDeclaration getter = entry.getValue();
7069 MethodDeclaration setter = setters.get(signature);
71- BeanPropertyModel property = BeanPropertyModel.of(environment, getter, setter);
70+ BeanPropertyModel property = BeanPropertyModel.of(
71+ environment,
72+ signature.name,
73+ getter,
74+ setter);
7275 results.put(signature.name, property);
7376 }
7477 }
@@ -161,7 +164,7 @@
161164 if (Character.isJavaIdentifierStart(first) == false) {
162165 return null;
163166 }
164- return Character.toUpperCase(first) + name.substring(verb.length() + 1);
167+ return Character.toLowerCase(first) + name.substring(verb.length() + 1);
165168 }
166169
167170 public Collection<? extends PropertyModel> getResults() {
--- sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/KindModel.java (revision 3756)
+++ sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/KindModel.java (revision 3757)
@@ -133,6 +133,10 @@
133133 }
134134 return true;
135135 }
136+
137+ if (klass.getConstructors().isEmpty() == false) {
138+ return false;
139+ }
136140 return type.getModifiers().contains(Modifier.PUBLIC);
137141 }
138142
--- sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/BeanPropertyModel.java (revision 3756)
+++ sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/BeanPropertyModel.java (revision 3757)
@@ -64,6 +64,7 @@
6464 /**
6565 * 指定のフィールドに対応するプロパティを生成して返す。
6666 * @param environment 環境オブジェクト
67+ * @param name プロパティの名称
6768 * @param getter アクセサとして取り扱うメソッド
6869 * @param setter モディファイヤとして取り扱うメソッド、存在しない場合は{@code null}
6970 * @return 対応するプロパティ
@@ -70,10 +71,10 @@
7071 */
7172 public static BeanPropertyModel of(
7273 AnnotationProcessorEnvironment environment,
74+ String name,
7375 MethodDeclaration getter,
7476 MethodDeclaration setter) {
7577 Types types = environment.getTypeUtils();
76- String name = nameFrom(getter);
7778 String getterName = getter.getSimpleName();
7879 String setterName = setter == null ? null : setter.getSimpleName();
7980 DeclaredType declaredType = Util.toMirror(environment, getter.getDeclaringType());
@@ -80,6 +81,10 @@
8081 TypeMirror propertyType = Util.boxing(environment, getter.getReturnType());
8182 String rawDeclaredType = types.getErasure(declaredType).toString();
8283 String erasedPropertyType = types.getErasure(getter.getReturnType()).toString();
84+ environment.getMessager().printNotice(getter.getPosition(), "getter of " + name);
85+ if (setter != null) {
86+ environment.getMessager().printNotice(setter.getPosition(), "setter of " + name);
87+ }
8388 return new BeanPropertyModel(
8489 name,
8590 getterName,
@@ -90,15 +95,6 @@
9095 erasedPropertyType);
9196 }
9297
93- private static String nameFrom(MethodDeclaration getter) {
94- String original = getter.getSimpleName();
95- assert original.length() > "get".length();
96- StringBuilder buf = new StringBuilder(original.substring("get".length()));
97- char first = buf.charAt(0);
98- buf.setCharAt(0, Character.toLowerCase(first));
99- return buf.toString();
100- }
101-
10298 public String getName() {
10399 return name;
104100 }
Show on old repository browser