package kr.debop4j.timeperiod; /** * 두 개의 {@link ITimePeriod}의 관계를 표현합니다. * * @author 배성혁 sunghyouk.bae@gmail.com * @since 13. 5. 10. 오후 11:18 */ public enum PeriodRelation { /** 알 수 없음 (두개의 기간({@link ITimePeriod})이 모두 Anytime 일 경우) */ NoRelation, /** 현 {@link ITimePeriod} 이후에 대상 {@link ITimePeriod}가 있을 때 */ After, /** 현 {@link ITimePeriod}의 완료 시각이 대상 {@link ITimePeriod}의 시작 시각과 같습니다. */ StartTouching, /** 현 {@link ITimePeriod} 기간 안에 대상 {@link ITimePeriod}의 시작 시각만 포함될 때 */ StartInside, /** 현 {@link ITimePeriod}의 시작 시각과 대상 {@link ITimePeriod}의 시작 시각이 일치하고, 대상 {@link ITimePeriod} 가 현 {@link ITimePeriod}에 포함될 때 */ InsideStartTouching, /** 현 {@link ITimePeriod}의 시작 시각과 대상 {@link ITimePeriod}의 시작 시각이 일치하고, 현 {@link ITimePeriod} 가 대상 {@link ITimePeriod}에 포함될 때 */ EnclosingStartTouching, /** 현 {@link ITimePeriod}가 대상 {@link ITimePeriod} 기간에 포함될 때 */ Enclosing, /** 현 {@link ITimePeriod}의 완료 시각과 대상 {@link ITimePeriod}의 완료 시각이 일치하고, 현 {@link ITimePeriod} 가 대상 {@link ITimePeriod}에 포함될 때 */ EnclosingEndTouching, /** 현 {@link ITimePeriod} 기간과 대상 {@link ITimePeriod}의 기간이 일치할 때, 둘 다 Anytime이라도 ExactMath가 된다. */ ExactMatch, /** 현 기간안에 대상 기간이 내부에 포함될 때 */ Inside, /** 현 기간 안에 대상 기간이 포함되는데, 완료시각만 같을 때 */ InsideEndTouching, /** 현 기간 안에 대상 기간의 완료 시각만 포함될 때 */ EndInside, /** 현 기간의 시작 시각이 대상 기간의 완료 시각과 일치할 때 */ EndTouching, /** 대상 기간의 완료 시각이 현 기간의 시작시간 전에 있을 때 */ Before }