/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 . ĠSun gh you k ĠB ae Ġ< sun gh you k . bae @ gmail . com > Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġdeb op 4 k . time period Ċ Ċ import Ġdeb op 4 k . time period . models . Period Relation Ċ import Ġorg . joda . time . DateTime Ċ Ċ /** Ċ Ġ* Ġ@ author Ġdeb op Ġsun gh you k . bae @ gmail . com Ċ Ġ*/ Ċ interface ĠI Time Period Collection Ġ: ĠI Time Period Container Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠëĮĢ ìĥģ ĠI Time Period Ġê¸° ê°Ħ ìĹĲ ĠìĨį íķĺëĬĶ Ġê¸° ê°Ħ ìĿ´ ĠìŀĪëĭ¤ ë©´ Ġtrue ë¥¼ Ġë°ĺíĻĺ íķ©ëĭĪëĭ¤ . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġhas Inside Periods ( that : ĠI Time Period ): ĠBoolean ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠëĮĢ ìĥģ ĠI Time Period Ġê¸° ê°Ħ ê³¼ Ġêµ Ĳ ì§ĳ íķ© ìĿ´ Ġì ¡´ ìŀ¬ íķĺë©´ Ġtrue ë¥¼ Ġë°ĺíĻĺ íķ©ëĭĪëĭ¤ . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġhas Overlap Periods ( that : ĠI Time Period ): ĠBoolean ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠëĮĢ ìĥģ Ġìĭľ ê°ģ ê³¼ Ġêµ Ĳ ì§ĳ íķ© ìĿ´ Ġì ¡´ ìŀ¬ íķĺë©´ Ġtrue ë¥¼ Ġë°ĺíĻĺ íķ©ëĭĪëĭ¤ . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġhas Intersection Periods ( moment : ĠDateTime ): ĠBoolean ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠëĮĢ ìĥģ ĠI Time Period Ġê¸° ê°Ħ ê³¼ Ġêµ Ĳ ì§ĳ íķ© ìĿ´ Ġì ¡´ ìŀ¬ íķĺë©´ Ġtrue ë¥¼ Ġë°ĺíĻĺ íķ©ëĭĪëĭ¤ . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġhas Intersection Periods ( target : ĠI Time Period ): ĠBoolean ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠëĮĢ ìĥģ ĠI Time Period Ġê¸° ê°Ħ ìĿĦ Ġíı¬ íķ¨ íķĺëĬĶ ĠI Time Period Ġëĵ¤ ìĿĦ ĠìĹ ´ ê±° íķ©ëĭĪëĭ¤ . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġinside Periods ( target : ĠI Time Period ): ĠList < IT ime Period > ĊĊĠ Ġfun Ġoverlap Periods ( target : ĠI Time Period ): ĠList < IT ime Period > ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġì§Ģìłķ íķľ Ġmoment Ġìĭľ ê°ģ ê³¼ Ġêµ Ĳ ì§ĳ íķ© ìĿ´ Ġì ¡´ ìŀ¬ íķĺëĬĶ ĠTime Period ë¥¼ ĠìĹ ´ ê±° íķ©ëĭĪëĭ¤ . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġintersection Periods ( moment : ĠDateTime ): ĠList < IT ime Period > ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġì§Ģìłķ íķľ Ġmoment Ġê¸° ê°Ħ ê³¼ Ġêµ Ĳ ì§ĳ íķ© ìĿ´ Ġì ¡´ ìŀ¬ íķĺëĬĶ ĠTime Period ë¥¼ ĠìĹ ´ ê±° íķ©ëĭĪëĭ¤ . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġintersection Periods ( target : ĠI Time Period ): ĠList < IT ime Period > ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠëĮĢ ìĥģ ĠI Time Period ĠìĻ Ģ ĠíĬ¹ ìłķ Ġê´Ģ ê³Ħ ë¥¼ Ġê°Ģì§Ģ ëĬĶ ĠI Time Period ĠìļĶ ìĨĮ ëĵ¤ìĿĦ ĠìĹ ´ ê±° íķ©ëĭĪëĭ¤ . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġrelation Periods ( target : ĠI Time Period , Ġvar arg Ġrelations : ĠPeriod Relation ): ĠList < IT ime Period > ĊĊ Ċ }