Open Source Repository

Home /ibatis/ibatis-sqlmap-3.0-beta9 | Repository Home


org/apache/ibatis/reflection/property/PropertyNamer.java
package org.apache.ibatis.reflection.property;

import org.apache.ibatis.reflection.ReflectionException;

import java.util.Locale;

public class PropertyNamer {

  public static String methodToProperty(String name) {
    if (name.startsWith("is")) {
      name = name.substring(2);
    else if (name.startsWith("get"|| name.startsWith("set")) {
      name = name.substring(3);
    else {
      throw new ReflectionException("Error parsing property name '" + name + "'.  Didn't start with 'is', 'get' or 'set'.");
    }

    if (name.length() == || (name.length() && !Character.isUpperCase(name.charAt(1)))) {
      name = name.substring(01).toLowerCase(Locale.US+ name.substring(1);
    }

    return name;
  }

  public static boolean isProperty(String name) {
    return name.startsWith("get"|| name.startsWith("set"|| name.startsWith("is");
  }

  public static boolean isGetter(String name) {
    return name.startsWith("get"|| name.startsWith("is");
  }

  public static boolean isSetter(String name) {
    return name.startsWith("set");
  }

}