package Ġorg . ny pl . simpl ified . op ds . core Ċ Ċ import Ġcom . google . common . base . Preconditions Ċ import Ġcom . io 7 m . j functional . Option Type Ċ import Ġone . ir rad ia . mime . api . MIME Type Ċ import Ġjava . io . Serializable Ċ import Ġjava . net . URI Ċ Ċ /** Ċ Ġ* ĠA Ġspecific ĠOP DS Ġac quisition . Ċ Ġ* Ċ Ġ* Ġhttp :// op ds - spec . org / specs / op ds - catalog - 1 - 1 - 2 0 1 1 0 6 2 7 /# Ac quisition _ Feed s Ċ Ġ*/ Ċ Ċ data Ġclass ĠOP DS Ac quisition ( ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġrelation Ġof Ġthe Ġac quisition ĊĠĠ Ġ*/ ĊĊĠ Ġval Ġrelation : ĠRelation , ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe ĠURI Ġof Ġthe Ġac quisition ĊĠĠ Ġ*/ ĊĊĠ Ġval Ġuri : ĠURI , ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe ĠMIME Ġtype Ġof Ġimmediately Ġretrie vable Ġcontent , Ġif Ġany . ĊĠĠ Ġ*/ ĊĊĠ Ġval Ġtype : ĠOption Type < MIME Type >, ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġset Ġof Ġindirect Ġac quis itions ĊĠĠ Ġ*/ ĊĊĠ Ġval Ġindirect Ac quis itions : ĠList < OP DS Indirect Ac quisition > Ċ ) Ġ: ĠSerializable Ġ{ ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġif Ġ( this . type . is None ) Ġ{ ĊĠĠĠĠĠ ĠPreconditions . check Argument ( ĊĠĠĠĠĠĠĠ Ġ! this . indirect Ac quis itions . isEmpty (), ĊĠĠĠĠĠĠĠ Ġ" If Ġno Ġac quisition Ġtype Ġis Ġprovided , Ġa Ġset Ġof Ġindirect Ġac quis itions Ġmust Ġbe Ġprovided ") ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ@ return ĠThe Ġset Ġof Ġfinal Ġcontent Ġtypes . ĠThat Ġis , Ġthe Ġset Ġof Ġcontent Ġtypes Ġthat Ġare Ġaccessible ĊĠĠ Ġ* Ġif Ġall Ġ( possibly Ġindirect ) Ġac quis itions Ġare Ġfollowed Ġto Ġtheir Ġcon clusions ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġavailable Final Content Types (): ĠSet < MIME Type > Ġ{ ĊĠĠĠ Ġval Ġset Ġ= Ġmutable Set Of < MIME Type >() ĊĠĠĠ Ġthis . type . map Ġ{ Ġt Ġ-> Ġset . add ( t ) Ġ} ĊĠĠĠ Ġset . addAll ( OP DS Indirect Ac quisition . available Final Content Types In ( this . indirect Ac quis itions )) ĊĠĠĠ Ġreturn Ġset ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġspecific Ġtype Ġof Ġac quisition . ĊĠĠ Ġ*/ ĊĊĠ Ġenum Ġclass ĠRelation ( val Ġuri : ĠURI ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġitem Ġcan Ġbe Ġborrow ed . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ ĠAC QU IS ITION _ B OR ROW ( URI . create (" http :// op ds - spec . org / ac quisition / borrow ")), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġitem Ġcan Ġbe Ġb ought . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ ĠAC QU IS ITION _ BU Y ( URI . create (" http :// op ds - spec . org / ac quisition / buy ")), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġitem Ġcan Ġbe Ġobtained . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ ĠAC QU IS ITION _ GENERIC ( URI . create (" http :// op ds - spec . org / ac quisition ")), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġitem Ġis Ġopen Ġaccess Ġ( possibly Ġpublic Ġdomain ). ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ ĠAC QU IS ITION _ OPEN _ ACCESS ( URI . create (" http :// op ds - spec . org / ac quisition / open - access ")), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġitem Ġcan Ġbe Ġsampled . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ ĠAC QU IS ITION _ SAMPLE ( URI . create (" http :// op ds - spec . org / ac quisition / sample ")), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġitem Ġcan Ġbe Ġsubscribed Ġto . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ ĠAC QU IS ITION _ SUB SCR IBE ( URI . create (" http :// op ds - spec . org / ac quisition / subscribe ")) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠserialVersionUID Ġ= Ġ 1 L ĊĠ Ġ} Ċ } Ċ