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

📄 order.java

📁 本系统有十分强大的功能
💻 JAVA
字号:
package org.opencustomer.framework.db.util.engine;

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

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.log4j.Logger;

public final class Order {

    private final static Logger log = Logger.getLogger(Order.class);
    
    private ArrayList<OrderColumn> orderColumns = new ArrayList<OrderColumn>();
    
    public Order() {
    }
    
    public Order(int column, boolean ascending) {
        add(column, ascending);
    }
    
    public void clear() {
        orderColumns.clear();
    }
    
    public void add(int column, boolean ascending) {
        Iterator<OrderColumn> it = orderColumns.iterator();
        while(it.hasNext()) {
            OrderColumn oc = it.next();
            if(oc.getColumn() == column) {
                it.remove();
            }
        }
        orderColumns.add(0, new OrderColumn(column, ascending));
    }

    List<OrderColumn> getOrderColumns() {
        return orderColumns;
    }
    
    /** 
     * Adds a order parameter with the structure {order}_{column}.
     * @param orderParam the unparsed parameter.
     */
    public void add(String orderParam){
        if(orderParam != null) {
            String[] parts = orderParam.split("_", 2);
            if(parts.length == 2) {
                boolean ascending = true;
                if(parts[0].equals("asc")) {
                    ascending = true;
                } else if(parts[0].equals("desc")) {
                    ascending = false;
                } else {
                    throw new IllegalArgumentException("found invalid order (position 1): "+parts[0]);
                }

                try {
                    this.add(Integer.parseInt(parts[1]), ascending);
                } catch(NumberFormatException e) {
                    throw new IllegalArgumentException("found invalid column (position 2): "+parts[1]);
                }
            } else {
                throw new IllegalArgumentException("invalid number of paramaeter parts found: "+parts.length+" (expected: 2)");
            }
        }
    }
    
    static class OrderColumn {

        private int column;
        
        private boolean ascending;
        
        public OrderColumn() {
        }

        public OrderColumn(int column, boolean ascending) {
            this.column    = column;
            this.ascending = ascending;
        }

        public int getColumn() {
            return column;
        }

        public void setColumn(int column) {
            this.column = column;
        }

        public boolean isAscending() {
            return ascending;
        }
        
        public void setAscending(boolean ascending) {
            this.ascending = ascending;
        }
        
        @Override
        public String toString() {
            return column+"-"+ascending;
        }
    }
    
    @Override
    public String toString() {
        ToStringBuilder builder = new ToStringBuilder(this);
        
        builder.append("orderColumns", orderColumns);
        
        return builder.toString();
    }
}

⌨️ 快捷键说明

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