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

📄 jmfilter.java

📁 梦界家园程序开发基底框架
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
package jm.util;

import java.sql.*;
import java.util.*;
import java.util.Date;

/**
 * JMFilter.java
 * 張棟奣梫      : 僔僗僥儉嫟捠宯張棟傪峴偆
 * @author fu_changyong(1shome)
 * @see jdk1.5.2
 * @version 1.5.2.2
 */
public class JMFilter {
    //僋儔僗柤
    private static final String sClassName = "JMFilter";

//    private static final int eq = 0 ;
//    private static final int eqn = -1 ;
//    private static final int big = 1 ;
//    private static final int bigeq = 3 ;
//    private static final int small = 2 ;
//    private static final int smalleq = 4 ;

    /**
     *  JMFolderCopy
     *  JMFolder偺僐僺乕
     *  @param  oldJMFolder
     *  @return  JMFolder
     *  @throws  Exception
     */
    public static JMFolder JMFolderCopy (JMFolder oldJMFolder) throws Exception {
        JMFolder newJMFolder = null;

        JMOutputStream outStream = new JMOutputStream();
        oldJMFolder.serializeTo(outStream);
        JMInputStream inStream = new JMInputStream(outStream.toByteArray());
        newJMFolder = new JMFolder(inStream);

        return newJMFolder;
    }

    /**
     *  JM2DArrayCopy
     *  JM2DArray丂偺僐僺乕
     *  @param  oldJM2DArray
     *  @return  JM2DArray
     *  @throws  Exception
     */
    public static JM2DArray JM2DArrayCopy (JM2DArray oldJM2DArray) throws Exception {
        JM2DArray newJM2DArray = null;

        JMOutputStream outStream = new JMOutputStream();
        oldJM2DArray.serializeTo(outStream);
        JMInputStream inStream = new JMInputStream(outStream.toByteArray());
        newJM2DArray = new JM2DArray(inStream);

        return newJM2DArray;

    }

    /**
     *  JMFolderCompare
     *  JMFolder 擵娫偺斾妑
     *  @param  oldJMFolder
     *  @param  newJMFolder
     *  @return boolean 丂憡摨帪:true;晄摨帪:false;
     *  @throws  Exception
     */
    public static boolean JMFolderCompare (JMFolder oldJMFolder, JMFolder newJMFolder) throws Exception {

        if (JMUtility.compare(oldJMFolder, newJMFolder) != 0)
            return false;
        return true;

    }

    /**
     *  JM2DArrayCompare
     *  JM2DArray 擵娫偺斾妑
     *  @param  oldJM2DArray
     *  @param  newJM2DArray
     *  @return  丂 丂憡摨帪:true;
                  丂丂晄摨帪:false;
     *  @throws  Exception
     */
    public static boolean JM2DArrayCompare (JM2DArray oldJM2DArray,
                                            JM2DArray newJM2DArray) throws Exception {
        final String sMethod = "JM2DArrayCompare";
        try {
            if (JMUtility.compare(oldJM2DArray, newJM2DArray) != 0)
                return false;
            return true;
        } catch (Exception e) { //end try
            throw new Exception(sClassName + "." + sMethod, e);
        }
    }

    /**
     *  JM2DArrayOrder
     *  JM2DArray 偺攔彉(彙彉)
     *  @param    pfArray
     *  @param    psKey
     *  @return   JM2DArray
     *  @throws   Exception
     */
    @SuppressWarnings ("unchecked")
    public static JM2DArray JM2DArrayOrderUp (JM2DArray pfArray, String psKey) throws Exception {
//        final String sMethod = "JM2DArrayOrder" ;
        String psTemp = "";
        JM2DArray pArray2DOld = JM2DArrayCopy(pfArray);
        JM2DArray pArray2DNew = new JM2DArray(); //怴嶌惉偺JM2DArray
        JMVector<Integer> pArrtmp = new JMVector<Integer>(); //TEMP JM2DArray
        //尞抣偺庢摼
        HashMap<String, Integer> haColMap = new HashMap<String, Integer>(pArray2DOld.getColNameMap());
        JMVector<String> paColNm = new JMVector<String>(pArray2DOld.getColNames());
        //JMVector    veColNmOld=  new JMVector(pArray2DOld.getColNames());
        //楍崋
        int piColumn = Integer.parseInt("" + haColMap.get(psKey.toUpperCase()));
        //LENGTH偺庢摼
        int piRow = pArray2DOld.rowCount();
        //椶宆偺庢摼
        int piType = pArray2DOld.getDataType(0, piColumn);
        //攔彉 START
        int piSmall = 0;
        //怴JM2DArray偺嶌惉
        for (; pArrtmp.size() < piRow; ) {
            //piSmall=0;
            //TEMP VALUE
            if (piType >= 0 && piType <= 5) {
                psTemp = "999999999999";
            } else {
                psTemp = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
            }
            Date psDate = Timestamp.valueOf("9999-12-31 23:59:59.999999999");
            //曊椺
            for (int i = -1; i < piRow - 1; ) {
                i++;
                //惍峴悢抣偺庢摼
                JMVector<JMVal> RowValue = new JMVector<JMVal>(pArray2DOld.getRow(i));
                Object objValue = RowValue.get(piColumn);
                JMVal varValue = (JMVal) objValue;
                String psValue = varValue.toString();
                Date pdateValue = null;
                psValue = psValue.substring(psValue.indexOf(",") + 1);
                psValue = psValue.substring(0, psValue.length() - 1);
                psValue = psValue.trim();
                if (pArrtmp.contains(new Integer(i))) {
                    continue;
                }
                //THE INT_DOUBLE_FLOAT_LONG_VALUE 偺攔彉
                if (piType >= 0 && piType <= 5) {
                    if (((new Double(psTemp)).doubleValue() >
                         (new Double(psValue)).doubleValue())) {
                        psTemp = psValue;
                        piSmall = i;
                    }
                } else {
                    //TYPE_DATE 偺攔彉
                    if (piType == JMVal.TYPE_DATE) {
                        JMVal pvarValue = (JMVal) objValue;
                        pdateValue = pvarValue.getDateValue();
                        if (psDate.getTime() > pdateValue.getTime()) {
                            psDate = pdateValue;
                            piSmall = i;
                        }
                    }
                    //TYPE_STRING 偺攔彉
                    if (piType == JMVal.TYPE_STRING) {
                        if (psTemp.compareTo(psValue) > 0) {
                            psTemp = psValue;
                            piSmall = i;
                        }
                    }
                } //end if type
            } //end for 曊椺
            //THE ROW_VALUE
            pArrtmp.add(new Integer(piSmall));
            //曊椺
            for (int i = 0; i < paColNm.size(); i++) {
                int iTypeold = pArray2DOld.getDataType(0, i);
                //悢抣偺斾妑
                //TYPE_STRING
                if (iTypeold == JMVal.TYPE_STRING) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getStringValue(piSmall,
                                                                   paColNm.get(i).toString()));
                }
                //TYPE_SHORT
                else if (iTypeold == JMVal.TYPE_SHORT) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getShortValue(piSmall,
                                                                  paColNm.get(i).toString()));
                }
                //TYPE_LONG
                else if (iTypeold == JMVal.TYPE_LONG) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getLongValue(piSmall,
                                                                 paColNm.get(i).toString()));
                }
                //TYPE_DOUBLE
                else if (iTypeold == JMVal.TYPE_DOUBLE) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getDoubleValue(piSmall,
                                                                   paColNm.get(i).toString()));
                }
                //TYPE_CHAR
                else if (iTypeold == JMVal.TYPE_CHAR) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getCharValue(piSmall,
                                                                 paColNm.get(i).toString()));
                }
                //TYPE_FLOAT
                else if (iTypeold == JMVal.TYPE_FLOAT) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getFloatValue(piSmall,
                                                                  paColNm.get(i).toString()));
                }
                //TYPE_BYTE
                else if (iTypeold == JMVal.TYPE_BYTE) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getByteValue(piSmall,
                                                                 paColNm.get(i).toString()));
                }
                //TYPE_INT
                else if (iTypeold == JMVal.TYPE_INT) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getIntValue(piSmall,
                                                                paColNm.get(i).toString()));
                }
                //TYPE_BOOLEAN
                else if (iTypeold == JMVal.TYPE_BOOLEAN) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getBooleanValue(piSmall,
                                                                    paColNm.get(i).toString()));
                }
                //TYPE_BYTE[]
                else if (iTypeold == JMVal.TYPE_BYTEARRAY) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getByteArrayValue(piSmall,
                                                                      paColNm.get(i).toString()));
                }
                //TYPE_DATE
                else if (iTypeold == JMVal.TYPE_DATE) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getDateValue(piSmall,
                                                                 paColNm.get(i).toString()));
                } //end if
            } //end for paColNm
            pArray2DNew.nextRow();
        } //end for
        return pArray2DNew;
    }

⌨️ 快捷键说明

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