/** * Company * Copyright (C) 2014-2017 All Rights Reserved. */ package com.bootcwenao.bigdataserver.utils; import org.springframework.util.StringUtils; import java.util.Arrays; import java.util.List; import java.util.Locale; /** * Transform the entity attribute hbase column attribute * @author cwenao * @version $Id HumpNameOrMethodUtils.java, v 0.1 2017-02-20 16:27 cwenao Exp $$ */ public class HumpNameOrMethodUtils { private final static String SEPARATOR_UNDER_SCORE = "_"; /** * 用驼峰命名法 将参数转换为Entity属性 * @param var * @return */ public static String humpVarForEntity(String var) { if (StringUtils.isEmpty(var)) { return ""; } StringBuffer varBf = new StringBuffer(); var = var.replaceFirst(var.substring(0,1),var.substring(0,1).toLowerCase(Locale.US)); if (var.indexOf(SEPARATOR_UNDER_SCORE) > 0) { String[] underStr = var.split(SEPARATOR_UNDER_SCORE); for(int i =0; i<underStr.length;i++) { if (i == 0) { varBf.append(underStr[i]); } else { varBf.append(str2LowerCase(underStr[i])); } } } return varBf.toString(); } /** * 用驼峰命名法 将Entity属性转换为参数 * @param var * @return */ public static String humpEntityForVar(String var) { if (StringUtils.isEmpty(var)) { return ""; } StringBuffer varBf = new StringBuffer(); char[] varChar = var.toCharArray(); int i = 0; for(char c : varChar) { if (i==0) { varBf.append(String.valueOf(c)); } else { if (compareToLowerCase(String.valueOf(c))) { varBf.append("_" + String.valueOf(c).toLowerCase()); } else { varBf.append(String.valueOf(c)); } } i++; } return varBf.toString(); } /** * 将首位字符转换为大写 * @param str * @return */ private static String str2LowerCase(String str) { if (StringUtils.isEmpty(str)) { return ""; } return str.replaceFirst(str.substring(0, 1), str.substring(0, 1).toUpperCase()); } /** * 是否大写字母 * @param source * @return */ private static Boolean compareToLowerCase(String source) { if (StringUtils.isEmpty(source)) { return false; } if (!source.equals(source.toLowerCase(Locale.US))) { return true; } return false; } }