svnno****@sourc*****
svnno****@sourc*****
2010年 4月 24日 (土) 13:20:36 JST
Revision: 3757 http://sourceforge.jp/projects/jiemamy/svn/view?view=rev&revision=3757 Author: ashigeru Date: 2010-04-24 13:20:36 +0900 (Sat, 24 Apr 2010) Log Message: ----------- デフォルトコンストラクタの判定ルーチンにバグがあったのを修正。 isから始まるプロパティ名の算出にバグがあったのを修正 Modified Paths: -------------- sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/BeanPropertyModel.java sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/KindModel.java sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/processor/BeanPropertyModelCollector.java Modified: sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/BeanPropertyModel.java =================================================================== --- sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/BeanPropertyModel.java 2010-02-01 14:55:48 UTC (rev 3756) +++ sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/BeanPropertyModel.java 2010-04-24 04:20:36 UTC (rev 3757) @@ -64,22 +64,27 @@ /** * 指定のフィールドに対応するプロパティを生成して返す。 * @param environment 環境オブジェクト + * @param name プロパティの名称 * @param getter アクセサとして取り扱うメソッド * @param setter モディファイヤとして取り扱うメソッド、存在しない場合は{@code null} * @return 対応するプロパティ */ public static BeanPropertyModel of( AnnotationProcessorEnvironment environment, + String name, MethodDeclaration getter, MethodDeclaration setter) { Types types = environment.getTypeUtils(); - String name = nameFrom(getter); String getterName = getter.getSimpleName(); String setterName = setter == null ? null : setter.getSimpleName(); DeclaredType declaredType = Util.toMirror(environment, getter.getDeclaringType()); TypeMirror propertyType = Util.boxing(environment, getter.getReturnType()); String rawDeclaredType = types.getErasure(declaredType).toString(); String erasedPropertyType = types.getErasure(getter.getReturnType()).toString(); + environment.getMessager().printNotice(getter.getPosition(), "getter of " + name); + if (setter != null) { + environment.getMessager().printNotice(setter.getPosition(), "setter of " + name); + } return new BeanPropertyModel( name, getterName, @@ -90,15 +95,6 @@ erasedPropertyType); } - private static String nameFrom(MethodDeclaration getter) { - String original = getter.getSimpleName(); - assert original.length() > "get".length(); - StringBuilder buf = new StringBuilder(original.substring("get".length())); - char first = buf.charAt(0); - buf.setCharAt(0, Character.toLowerCase(first)); - return buf.toString(); - } - public String getName() { return name; } Modified: sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/KindModel.java =================================================================== --- sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/KindModel.java 2010-02-01 14:55:48 UTC (rev 3756) +++ sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/model/KindModel.java 2010-04-24 04:20:36 UTC (rev 3757) @@ -133,6 +133,10 @@ } return true; } + + if (klass.getConstructors().isEmpty() == false) { + return false; + } return type.getModifiers().contains(Modifier.PUBLIC); } Modified: sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/processor/BeanPropertyModelCollector.java =================================================================== --- sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/processor/BeanPropertyModelCollector.java 2010-02-01 14:55:48 UTC (rev 3756) +++ sandbox/object-manipulator-generator/src/main/java/org/jiemamy/utils/object/manipulate/meta/processor/BeanPropertyModelCollector.java 2010-04-24 04:20:36 UTC (rev 3757) @@ -59,7 +59,6 @@ return; } - Map<NameAndType, MethodDeclaration> setters = findSetters(methods); for (Map.Entry<NameAndType, MethodDeclaration> entry : getters.entrySet()) { NameAndType signature = entry.getKey(); @@ -68,7 +67,11 @@ } MethodDeclaration getter = entry.getValue(); MethodDeclaration setter = setters.get(signature); - BeanPropertyModel property = BeanPropertyModel.of(environment, getter, setter); + BeanPropertyModel property = BeanPropertyModel.of( + environment, + signature.name, + getter, + setter); results.put(signature.name, property); } } @@ -161,7 +164,7 @@ if (Character.isJavaIdentifierStart(first) == false) { return null; } - return Character.toUpperCase(first) + name.substring(verb.length() + 1); + return Character.toLowerCase(first) + name.substring(verb.length() + 1); } public Collection<? extends PropertyModel> getResults() {