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

📄 ordering.java

📁 手机邮箱撒的方式方式方式的
💻 JAVA
字号:
package mujmail.ordering;

import mujmail.util.Functions;

/** 
 * Represents if type of sorting, whether increasing({@link #NATURAL}) or decreasing({@link #UNNATURAL})
 */
public final class Ordering {
    /** Sort mode. Increasing order */
    public static final Ordering NATURAL = new Ordering(0, "natural");
    /** Sort mode. Descreasing order */
    public static final Ordering UNNATURAL = new Ordering(1, "unnatural");

    /** Identification of sorting mode */
    public final int ordinal;
    /** Human readable name of sorting mode */
    private final String name; 

    /** 
     * Private constructor to prevent instances creation
     * @param ordinal index of ordering type
     * @param name Sorting mode internal name
     */
    private Ordering(int ordinal, String name) {
        this.ordinal = ordinal;
        this.name = name;
    }

    /** 
     * For given ordering constant from {@link mujmail.util.Functions} SRT_ORDER_ entries gives Ordering object.
     *
     * @param ordering Header sorting mode from {@link mujmail.util.Functions}
     * @return Ordering for given sorting mode
     */
    public static Ordering valueOf(int ordering) throws IllegalArgumentException {
        if (ordering == Functions.SRT_ORDER_DEC) {
            return UNNATURAL;
        } else if ( ordering == Functions.SRT_ORDER_INC ) {
            return NATURAL;
        } else {
            throw new IllegalArgumentException("Expected value in (" + Functions.SRT_ORDER_DEC + ", " + Functions.SRT_ORDER_INC + ") but got " + ordering);
        }
    }

    /* *********************
     *    Object methods   *
     ***********************/
    public String toString() {
        return name;
    }

    public boolean equals(Object obj) {
        return this == obj;
    }

    public int hashCode() {
        if ( this == NATURAL ) {
            return Functions.SRT_ORDER_INC;
        } else { // there are just two possibilities now
            return Functions.SRT_ORDER_DEC;
        }
    }
}

⌨️ 快捷键说明

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