/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 - 2 0 1 9 ĠHERE ĠEurope ĠB . V . Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* ĠLicense - Filename : ĠLICENSE Ċ Ġ*/ Ċ Ċ package Ġcom . here . ort . model Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ Ċ import Ġcom . vd urm ont . semver 4 j . Sem ver Ċ import Ġcom . vd urm ont . semver 4 j . Sem ver Exception Ċ Ċ /** Ċ Ġ* ĠReturn Ġtrue Ġif Ġthis Ġstring Ġequals Ġthe Ġ[ other ] Ġstring , Ġor Ġif Ġeither Ġstring Ġis Ġblank . Ċ Ġ*/ Ċ private Ġfun ĠString . equals Or Is Blank ( other : ĠString ) Ġ= Ġequals ( other ) Ġ|| Ġis Blank () Ġ|| Ġother . isBlank () Ċ Ċ /** Ċ Ġ* ĠThis Ġclass Ġassigns Ġa Ġ[ Package C uration Data ] Ġobject Ġto Ġa Ġ[ Package ] Ġidentified Ġby Ġthe Ġ[ id ]. Ċ Ġ*/ Ċ data Ġclass ĠPackage C uration ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġidentifier Ġof Ġthe Ġpackage . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġid : ĠIdentifier , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġc uration Ġdata Ġfor Ġthe Ġpackage . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ JsonProperty (" cur ations ") ĊĠĠĠ Ġval Ġdata : ĠPackage C uration Data Ċ ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġtrue Ġif Ġthis Ġ[ Package C uration ] Ġis Ġapplicable Ġto Ġthe Ġpackage Ġwith Ġthe Ġgiven Ġ[ identifier ][ pkg Id ], ĊĠĠĠĠ Ġ* Ġdis reg arding Ġthe Ġversion . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġis Applicable Dis reg arding Version ( pkg Id : ĠIdentifier ) Ġ= ĊĠĠĠĠĠĠĠ Ġid . type . equals ( pkg Id . type , Ġignore Case Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġid . namespace Ġ== Ġpkg Id . namespace ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġid . name . equals Or Is Blank ( pkg Id . name ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġtrue Ġif Ġthe Ġversion Ġof Ġthis Ġ[ Package C uration ] Ġinterpreted Ġas Ġan ĠI vy Ġversion Ġmatcher Ġis Ġapplicable Ġto Ġthe ĊĠĠĠĠ Ġ* Ġpackage Ġwith Ġthe Ġgiven Ġ[ identifier ][ pkg Id ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġis Applicable I vy Version ( pkg Id : ĠIdentifier ) Ġ= ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpkg I vy Version Ġ= ĠSem ver ( pkg Id . version , ĠSem ver . Sem ver Type . IV Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpkg I vy Version . satisf ies ( id . version ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSem ver Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġtrue Ġif Ġthis Ġ[ Package C uration ] Ġis Ġapplicable Ġto Ġthe Ġpackage Ġwith Ġthe Ġgiven Ġ[ identifier ][ pkg Id ]. ĠThe ĊĠĠĠĠ Ġ* Ġc uration 's Ġversion Ġmay Ġbe Ġan ĊĠĠĠĠ Ġ* Ġ[ I vy Ġversion Ġmatcher ]( http :// ant . apache . org / ivy / history / 2 . 4 . 0 / settings / version - matchers . html ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Applicable ( pkg Id : ĠIdentifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġis Applicable Dis reg arding Version ( pkg Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ( id . version . equals Or Is Blank ( pkg Id . version ) Ġ|| Ġis Applicable I vy Version ( pkg Id )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠApply Ġthe Ġc uration Ġ[ data ] Ġto Ġthe Ġprovided Ġpackage . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ Package C uration Data . apply ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġapply ( cur ated Package : ĠCur ated Package ): ĠCur ated Package Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( is Applicable ( cur ated Package . pkg . id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Package Ġc uration Ġidentifier Ġ'${ id . to Coordinates () }' Ġdoes Ġnot Ġmatch Ġpackage Ġidentifier Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"' ${ cur ated Package . pkg . id . to Coordinates ()} '. " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġdata . apply ( cur ated Package ) ĊĠĠĠ Ġ} Ċ } Ċ