⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringutils.java

📁 羽量级数据持久层开发框架
💻 JAVA
字号:
package org.speedframework.utilities;

//~--- non-JDK imports --------------------------------------------------------

import org.apache.commons.lang.CharSetUtils;

//~--- JDK imports ------------------------------------------------------------

import java.io.Serializable;

import java.lang.reflect.Array;
import java.lang.reflect.Field;

import java.util.ArrayList;
import java.util.List;

/**
 *  类描述信息,描述类的主要职责和用处。
 *
 *
 * @version    $LastChangedRevision: 1945 $, 2007.09.29 at 02:14:12 CST
 * @author     <a href="mailto:falcon8848@gmail.com">piginzoo </a>
 */
public class StringUtils
 {

    /**
     * 方法描述信息,
     * 描述方法是做什么的,
     * 如何调用,最好给出调用代码示例。
     *
     * @param cls_pojo
     *
     * @return
     */
    public static String getExcuteTableName(Class cls_pojo) {
        String   className  = cls_pojo.getName();
        String[] className_ = className.split("\\.");
        String   table      = ((String) className_[className_.length - 1]).toLowerCase();

        return table;
    }

    /**
     * 方法描述信息,
     * 描述方法是做什么的,
     * 如何调用,最好给出调用代码示例。
     *
     * @param field
     *
     * @return
     */
    public static String getField(Field field) {
        String[] name       = field.toString().split("\\.");
        String   columnName = name[name.length - 1];

        return columnName;
    }

    /**
     * 方法描述信息,
     * 描述方法是做什么的,
     * 如何调用,最好给出调用代码示例。
     *
     * @param id
     *
     * @return
     */
    public static String[] getSerializableID(Serializable id) {
        String[] param = null;

        if (id.getClass().isArray()) {
            int length = Array.getLength(id);

            param = new String[length];

            for (int i = 0; i < length; i++) {
                param[i] = (String) Array.get(id, i);
            }
        } else if (!id.getClass().isArray()) {
            param = new String[] { id.toString() };
        }

        return param;
    }

    /**
     * 方法描述信息,
     * 描述方法是做什么的,
     * 如何调用,最好给出调用代码示例。
     *
     * @param str_
     *
     * @return
     */
    public static boolean checkMatching(String str_) {
        boolean flag = false;

        if (CharSetUtils.count(str_, "(") == CharSetUtils.count(str_, ")")) {
            flag = true;
        }

        return flag;
    }

    /**
     * 方法描述信息,
     * 描述方法是做什么的,
     * 如何调用,最好给出调用代码示例。
     *
     * @param SQL
     *
     * @return
     */
    public static String getExecuteTable(String SQL) {
        String tablename = "";

        SQL = SQL.toLowerCase();

        if (SQL.indexOf("update") != -1) {
            tablename = SQL.substring(SQL.indexOf("update") + 6, SQL.indexOf("set"));
        }

        if (SQL.indexOf("delete") != -1) {
            tablename = SQL.substring(SQL.indexOf("delete from") + 12, SQL.indexOf("where"));
        }

        if (SQL.indexOf("insert") != -1) {
            tablename = SQL.substring(SQL.indexOf("into") + 5, SQL.indexOf("("));
        }

        return tablename.trim();
    }

    /**
     * 方法描述信息,
     * 描述方法是做什么的,
     * 如何调用,最好给出调用代码示例。
     *
     * @param cls
     *
     * @return
     */
    public static List getFields(Class cls) {
        List    keyList = new ArrayList();
        Field[] fields  = cls.getDeclaredFields();

        for (int i = 0; i < fields.length; i++) {
            String column_ = getField(fields[i]);

            if (!column_.toLowerCase().equals("serialversionuid")) {
                keyList.add(column_);
            }
        }

        return keyList;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -