2 * serial-numbered interface
\r
4 * License : The MIT License
\r
5 * Copyright(c) 2010 MikuToga Partners
\r
8 package jp.sourceforge.mikutoga.corelib;
\r
10 import java.util.Comparator;
\r
13 * 通し番号を持つオブジェクトの抽象化インタフェース。
\r
15 public interface SerialNumbered {
\r
18 public Comparator<SerialNumbered> COMPARATOR = new SerialComparator();
\r
24 void setSerialNumber(int num);
\r
30 int getSerialNumber();
\r
33 * 通し番号による比較子Comparator。
\r
36 public static class SerialComparator
\r
37 implements Comparator<SerialNumbered> {
\r
42 public SerialComparator(){
\r
49 * @param o1 {@inheritDoc}
\r
50 * @param o2 {@inheritDoc}
\r
51 * @return {@inheritDoc}
\r
54 public int compare(SerialNumbered o1, SerialNumbered o2){
\r
55 if(o1 == o2) return 0;
\r
56 if(o1 == null) return -1;
\r
57 if(o2 == null) return +1;
\r
59 int ser1 = o1.getSerialNumber();
\r
60 int ser2 = o2.getSerialNumber();
\r