2 * serial-numbered interface
4 * License : The MIT License
5 * Copyright(c) 2010 MikuToga Partners
8 package jp.sfjp.mikutoga.pmd.model;
10 import java.util.Comparator;
13 * 通し番号を持つオブジェクトの抽象化インタフェース。
15 public interface SerialNumbered {
18 public static final Comparator<SerialNumbered> COMPARATOR =
19 new SerialComparator();
27 public abstract void setSerialNumber(int num);
34 public abstract int getSerialNumber();
38 * 通し番号による比較子Comparator。
41 @SuppressWarnings("serial")
42 public static class SerialComparator
43 implements Comparator<SerialNumbered> {
48 public SerialComparator(){
57 * @param o1 {@inheritDoc}
58 * @param o2 {@inheritDoc}
59 * @return {@inheritDoc}
62 public int compare(SerialNumbered o1, SerialNumbered o2){
63 if(o1 == o2) return 0;
64 if(o1 == null) return -1;
65 if(o2 == null) return +1;
67 int ser1 = o1.getSerialNumber();
68 int ser2 = o2.getSerialNumber();