package Ġcom . android . vocab . provider Ċ Ċ import Ġandroid . content . Content Provider Ċ import Ġandroid . content . Content U ris Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . Uri Matcher Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . net . Uri Ċ import Ġandroid . util . Log ĊĊ Ċ @ Suppress (" unused ") Ċ class ĠV ocab Provider Ġ: ĠContent Provider () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠLOG _ TAG : ĠString Ġ= ĠV ocab Provider :: class . java . simple Name ĊĊĠĠĠ Ġlateinit Ġvar Ġvocab Helper : ĠV ocab Helper ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġquery Words And Type : String Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ Vocab Contract . Word Entry . TABLE _ NAME } ĠINNER ĠJOIN Ġ${ Vocab Contract . Word Type Entry . TABLE _ NAME } ĊĠĠĠĠĠĠĠĠĠĠĠ ĠON Ġ${ Vocab Contract . Word Entry . TABLE _ NAME }.${ Vocab Contract . Word Entry . COLUMN _ TYPE _ ID } Ġ= Ġ${ Vocab Contract . Word Type Entry . TABLE _ NAME }.${ Vocab Contract . Word Type Entry ._ ID } ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠĠĠĠĠ Ġval Ġquery Words And Type For Id : String Ġ= Ġ"$ query Words And Type ĠWHERE Ġ${ Vocab Contract . Word Entry ._ ID } Ġ= Ġ? " ĊĊĠĠĠĠĠĠĠ Ġval Ġquery For Syn onyms Word : ĠString Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ Vocab Contract . Syn onym Entry . TABLE _ NAME } ĠINNER ĠJOIN Ġ${ Vocab Contract . Word Entry . TABLE _ NAME } ĊĠĠĠĠĠĠĠĠĠĠĠ ĠON Ġ${ Vocab Contract . Syn onym Entry . TABLE _ NAME }.${ Vocab Contract . Syn onym Entry . COLUMN _ SY NON YM _ WORD _ ID } Ġ= Ġ${ Vocab Contract . Word Entry . TABLE _ NAME }.${ Vocab Contract . Word Entry ._ ID } ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġ${ Vocab Contract . Syn onym Entry . TABLE _ NAME }.${ Vocab Contract . Syn onym Entry . COLUMN _ MAIN _ WORD _ ID } Ġ= Ġ? ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠĠĠĠĠ Ġval Ġquery For Ant onyms Word : ĠString Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ Vocab Contract . Ant onym Entry . TABLE _ NAME } ĠINNER ĠJOIN Ġ${ Vocab Contract . Word Entry . TABLE _ NAME } ĊĠĠĠĠĠĠĠĠĠĠĠ ĠON Ġ${ Vocab Contract . Ant onym Entry . TABLE _ NAME }.${ Vocab Contract . Ant onym Entry . COLUMN _ ANT ONY M _ WORD _ ID } Ġ= Ġ${ Vocab Contract . Word Entry . TABLE _ NAME }.${ Vocab Contract . Word Entry ._ ID } ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġ${ Vocab Contract . Ant onym Entry . TABLE _ NAME }.${ Vocab Contract . Ant onym Entry . COLUMN _ MAIN _ WORD _ ID } Ġ= Ġ? ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠĠĠĠĠ Ġval ĠURI _ MATCH ER : ĠUri Matcher Ġ= ĠUri Matcher ( Uri Matcher . NO _ MATCH ) ĊĊĠĠĠĠĠĠĠ Ġval ĠWORD _ TYPE _ LIST : ĠInt Ġ= Ġ 1 0 0 ĊĊĠĠĠĠĠĠĠ Ġval ĠWORD _ TYPE _ ITEM : ĠInt Ġ= Ġ 1 0 1 ĊĊĠĠĠĠĠĠĠ Ġval ĠWORD _ LIST : ĠInt Ġ= Ġ 2 0 0 ĊĊĠĠĠĠĠĠĠ Ġval ĠWORD _ ITEM : ĠInt Ġ= Ġ 2 0 1 ĊĊĠĠĠĠĠĠĠ Ġval ĠS ENT ENCE _ LIST : ĠInt Ġ= Ġ 3 0 0 ĊĊĠĠĠĠĠĠĠ Ġval ĠS ENT ENCE _ ITEM : ĠInt Ġ= Ġ 3 0 1 ĊĊĠĠĠĠĠĠĠ Ġval ĠSY NON YM _ LIST : ĠInt Ġ= Ġ 4 0 0 ĊĊĠĠĠĠĠĠĠ Ġval ĠSY NON YM _ ITEM : ĠInt Ġ= Ġ 4 0 1 ĊĊĠĠĠĠĠĠĠ Ġval ĠAN TON YM _ LIST : ĠInt Ġ= Ġ 5 0 0 ĊĊĠĠĠĠĠĠĠ Ġval ĠAN TON YM _ ITEM : ĠInt Ġ= Ġ 5 0 1 ĊĊĠĠĠĠĠĠĠ Ġval ĠWORD _ AND _ TYPE _ LIST : Int Ġ= Ġ 6 0 0 ĊĊĠĠĠĠĠĠĠ Ġval ĠWORD _ AND _ TYPE _ ITEM : ĠInt Ġ= Ġ 6 0 1 ĊĊĠĠĠĠĠĠĠ Ġval ĠSY NON YM _ FOR _ WORD _ LIST : ĠInt Ġ= Ġ 7 0 0 ĊĊĠĠĠĠĠĠĠ Ġval ĠAN TON YM _ FOR _ WORD _ LIST : ĠInt Ġ= Ġ 7 0 1 ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , ĠV ocab Contract . PATH _ WORD _ TYPE , ĠWORD _ TYPE _ LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , Ġ"${ Vocab Contract . PATH _ WORD _ TYPE }/ # ", ĠWORD _ TYPE _ ITEM ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , ĠV ocab Contract . PATH _ WORD , ĠWORD _ LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , Ġ"${ Vocab Contract . PATH _ WORD }/ # ", ĠWORD _ ITEM ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , ĠV ocab Contract . PATH _ SENT ENCE , ĠS ENT ENCE _ LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , Ġ"${ Vocab Contract . PATH _ SENT ENCE }/ # ", ĠS ENT ENCE _ ITEM ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , ĠV ocab Contract . PATH _ SY NON YM , ĠSY NON YM _ LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , Ġ"${ Vocab Contract . PATH _ SY NON YM }/ # ", ĠSY NON YM _ ITEM ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , ĠV ocab Contract . PATH _ ANT ONY M , ĠAN TON YM _ LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , Ġ"${ Vocab Contract . PATH _ ANT ONY M }/ # ", ĠAN TON YM _ ITEM ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠCustom ĠQuery ĠRegistration Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , ĠV ocab Contract . PATH _ WORD _ AND _ TYPE , ĠWORD _ AND _ TYPE _ LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , Ġ"${ Vocab Contract . PATH _ WORD _ AND _ TYPE }/ # ", ĠWORD _ AND _ TYPE _ ITEM ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , Ġ"${ Vocab Contract . PATH _ SY NON YM _ FOR _ WORD }/ # ", ĠSY NON YM _ FOR _ WORD _ LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( Vocab Contract . CONTENT _ AUTH ORITY , Ġ"${ Vocab Contract . PATH _ ANT ONY M _ FOR _ WORD }/ # ", ĠAN TON YM _ FOR _ WORD _ LIST ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġinsert ( uri : ĠUri ?, Ġcontent Values : ĠContent Values ?): ĠUri Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsqlite Database : ĠSQLite Database Ġ= Ġvocab Helper . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠLong Ġ= Ġwhen Ġ( URI _ MATCH ER . match ( uri )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ TYPE _ LIST Ġ-> Ġsqlite Database . insert ( Vocab Contract . Word Type Entry . TABLE _ NAME , Ġnull , Ġcontent Values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ LIST Ġ-> Ġsqlite Database . insert ( Vocab Contract . Word Entry . TABLE _ NAME , Ġnull , Ġcontent Values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ENT ENCE _ LIST Ġ-> Ġsqlite Database . insert ( Vocab Contract . Sentence Entry . TABLE _ NAME , Ġnull , Ġcontent Values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSY NON YM _ LIST Ġ-> Ġsqlite Database . insert ( Vocab Contract . Syn onym Entry . TABLE _ NAME , Ġnull , Ġcontent Values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAN TON YM _ LIST Ġ-> Ġsqlite Database . insert ( Vocab Contract . Ant onym Entry . TABLE _ NAME , Ġnull , Ġcontent Values ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Uri Ġnot Ġsupported : Ġ$ uri ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠContent U ris . with App ended Id ( uri , Ġid ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġquery ( uri : ĠUri ?, Ġprojection : ĠArray < out ĠString > ?, Ġselection : ĠString ?, Ġselection Args : ĠArray < out ĠString > ?, Ġsort Order : ĠString ?): ĠCursor Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsqlite Database : ĠSQLite Database Ġ= Ġvocab Helper . readable Database ĊĠĠĠĠĠĠĠ Ġval Ġcursor : ĠCursor Ġ= Ġwhen Ġ( URI _ MATCH ER . match ( uri )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ TYPE _ LIST Ġ-> Ġsqlite Database . query ( Vocab Contract . Word Type Entry . TABLE _ NAME , Ġprojection , Ġselection , Ġselection Args , Ġnull , Ġnull , Ġsort Order ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ TYPE _ ITEM Ġ-> Ġsqlite Database . query ( Vocab Contract . Word Type Entry . TABLE _ NAME , Ġprojection , Ġ"${ Vocab Contract . Word Type Entry . COLUMN _ TYPE _ NAME }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ()), Ġnull , Ġnull , Ġsort Order ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ LIST Ġ-> Ġsqlite Database . query ( Vocab Contract . Word Entry . TABLE _ NAME , Ġprojection , Ġselection , Ġselection Args , Ġnull , Ġnull , Ġsort Order ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ ITEM Ġ-> Ġsqlite Database . query ( Vocab Contract . Word Entry . TABLE _ NAME , Ġprojection , Ġ"${ Vocab Contract . Word Entry ._ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ()), Ġnull , Ġnull , Ġsort Order ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ENT ENCE _ LIST Ġ-> Ġsqlite Database . query ( Vocab Contract . Sentence Entry . TABLE _ NAME , Ġprojection , Ġselection , Ġselection Args , Ġnull , Ġnull , Ġsort Order ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ENT ENCE _ ITEM Ġ-> Ġsqlite Database . query ( Vocab Contract . Sentence Entry . TABLE _ NAME , Ġprojection , Ġ"${ Vocab Contract . Sentence Entry ._ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ()), Ġnull , Ġnull , Ġsort Order ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSY NON YM _ ITEM Ġ-> Ġsqlite Database . query ( Vocab Contract . Syn onym Entry . TABLE _ NAME , Ġprojection , Ġ"${ Vocab Contract . Syn onym Entry . COLUMN _ MAIN _ WORD _ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ()), Ġnull , Ġnull , Ġsort Order ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAN TON YM _ ITEM Ġ-> Ġsqlite Database . query ( Vocab Contract . Ant onym Entry . TABLE _ NAME , Ġprojection , Ġ"${ Vocab Contract . Ant onym Entry . COLUMN _ MAIN _ WORD _ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ()), Ġnull , Ġnull , Ġsort Order ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ AND _ TYPE _ LIST Ġ-> Ġsqlite Database . raw Query ( query Words And Type , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ AND _ TYPE _ ITEM Ġ-> Ġsqlite Database . raw Query ( query Words And Type For Id , ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSY NON YM _ FOR _ WORD _ LIST Ġ-> Ġsqlite Database . raw Query ( query For Syn onyms Word , ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAN TON YM _ FOR _ WORD _ LIST Ġ-> Ġsqlite Database . raw Query ( query For Ant onyms Word , ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Cannot Ġquery Ġunknown Ġuri : Ġ$ uri ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcursor . set Notification Uri ( context ?. content Resolver , Ġuri ) ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvocab Helper Ġ= ĠV ocab Helper ( context ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( uri : ĠUri ?, Ġcontent Values : ĠContent Values ?, Ġselection : ĠString ?, Ġselection Args : ĠArray < out ĠString >? ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsqlite Database : ĠSQLite Database Ġ= Ġvocab Helper . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġrows : ĠInt Ġ= Ġwhen Ġ( URI _ MATCH ER . match ( uri )) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ TYPE _ ITEM Ġ-> Ġsqlite Database . update ( Vocab Contract . Word Type Entry . TABLE _ NAME , Ġcontent Values , ĠV ocab Contract . Word Type Entry ._ , Ġselection Args ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ ITEM Ġ-> Ġsqlite Database . update ( Vocab Contract . Word Entry . TABLE _ NAME , Ġcontent Values Ġ, Ġ"${ Vocab Contract . Word Entry ._ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠS ENT ENCE _ ITEM Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSY NON YM _ ITEM Ġ-> Ġsqlite Database . update ( Vocab Contract . Syn onym Entry . TABLE _ NAME , Ġcontent Values , Ġ"${ Vocab Contract . Syn onym Entry ._ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAN TON YM _ ITEM Ġ-> Ġsqlite Database . update ( Vocab Contract . Ant onym Entry . TABLE _ NAME , Ġcontent Values , Ġ"${ Vocab Contract . Ant onym Entry ._ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Uri Ġnot Ġsupported : Ġ$ uri ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( rows Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. content Resolver ?. notify Change ( uri , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġrows ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( uri : ĠUri ?, Ġselection : ĠString ?, Ġselection Args : ĠArray < out ĠString >? ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsqlite Database : ĠSQLite Database Ġ= Ġvocab Helper . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġrows : ĠInt Ġ= Ġwhen Ġ( URI _ MATCH ER . match ( uri )) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ TYPE _ ITEM Ġ-> Ġsqlite Database . delete ( Vocab Contract . Word Type Entry . TABLE _ NAME , Ġselection , Ġselection Args ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ ITEM Ġ-> Ġsqlite Database . delete ( Vocab Contract . Word Entry . TABLE _ NAME , Ġ"${ Vocab Contract . Word Entry ._ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSY NON YM _ ITEM Ġ-> Ġsqlite Database . delete ( Vocab Contract . Syn onym Entry . TABLE _ NAME , Ġ"${ Vocab Contract . Syn onym Entry ._ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAN TON YM _ ITEM Ġ-> Ġsqlite Database . delete ( Vocab Contract . Ant onym Entry . TABLE _ NAME , Ġ"${ Vocab Contract . Ant onym Entry ._ ID }= ?", ĠarrayOf ( Content U ris . parse Id ( uri ). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Uri Ġnot Ġsupported : Ġ$ uri ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( rows Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. content Resolver ?. notify Change ( uri , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġrows ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetType ( uri : ĠUri ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( URI _ MATCH ER . match ( uri )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ TYPE _ LIST Ġ-> ĠV ocab Contract . Word Type Entry . CONTENT _ LIST _ TYPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ TYPE _ ITEM Ġ-> ĠV ocab Contract . Word Type Entry . CONTENT _ ITEM _ TYPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ LIST Ġ-> ĠV ocab Contract . Word Entry . CONTENT _ LIST _ TYPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWORD _ ITEM Ġ-> ĠV ocab Contract . Word Entry . CONTENT _ ITEM _ TYPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ENT ENCE _ LIST Ġ-> ĠV ocab Contract . Sentence Entry . CONTENT _ LIST _ TYPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ENT ENCE _ ITEM Ġ-> ĠV ocab Contract . Sentence Entry . CONTENT _ ITEM _ TYPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSY NON YM _ ITEM Ġ-> ĠV ocab Contract . Syn onym Entry . CONTENT _ LIST _ TYPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAN TON YM _ ITEM Ġ-> ĠV ocab Contract . Ant onym Entry . CONTENT _ LIST _ TYPE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTodo : ĠCustom Ġitems Ġleft ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" No Ġtype Ġfor Ġuri : Ġ$ uri ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }