2 * frame-numbered interface
4 * License : The MIT License
5 * Copyright(c) 2011 MikuToga Partners
8 package jp.sfjp.mikutoga.vmd;
10 import java.util.Comparator;
13 * キーフレーム番号を持つオブジェクトの抽象化インタフェース。
15 public interface FrameNumbered {
18 public static final Comparator<FrameNumbered> COMPARATOR =
19 new FrameComparator();
25 public abstract void setFrameNumber(int num);
31 public abstract int getFrameNumber();
35 * フレーム番号による比較子Comparator。
38 @SuppressWarnings("serial")
39 public static class FrameComparator
40 implements Comparator<FrameNumbered> {
45 public FrameComparator(){
52 * @param o1 {@inheritDoc}
53 * @param o2 {@inheritDoc}
54 * @return {@inheritDoc}
57 @SuppressWarnings("PMD.CompareObjectsWithEquals")
58 public int compare(FrameNumbered o1, FrameNumbered o2){
59 if(o1 == o2) return 0;
60 if(o1 == null) return -1;
61 if(o2 == null) return +1;
63 int num1 = o1.getFrameNumber();
64 int num2 = o2.getFrameNumber();