package Ġcom . open l attice . collections Ċ Ċ import Ġcom . open l attice . edm . requests . Metadata Update Ċ import Ġretrofit 2 . http .* Ċ import Ġjava . util .* Ċ Ċ interface ĠCollections Api Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/* ĠThese Ġdetermine Ġthe Ġservice Ġrouting Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSERVICE Ġ= Ġ"/ datastore " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCONT ROLL ER Ġ= Ġ"/ collections " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE Ġ= ĠSERVICE Ġ+ ĠCONT ROLL ER ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠENT ITY _ TYPE _ PATH Ġ= Ġ"/ entity / type " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠENT ITY _ SET _ PATH Ġ= Ġ"/ entity / set " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTEMPLATE _ PATH Ġ= Ġ"/ template " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠENT ITY _ TYPE _ ID Ġ= Ġ" entity TypeId " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠENT ITY _ TYPE _ ID _ PATH Ġ= Ġ"/ {$ ENTITY _ TYPE _ ID }" ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠENT ITY _ TYPE _ COLLECTION _ ID Ġ= Ġ" entity Type Collection Id " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠENT ITY _ TYPE _ COLLECTION _ ID _ PATH Ġ= Ġ"/ {$ ENTITY _ TYPE _ COLLECTION _ ID }" ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠENT ITY _ SET _ COLLECTION _ ID Ġ= Ġ" entity Set Collection Id " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠENT ITY _ SET _ COLLECTION _ ID _ PATH Ġ= Ġ"/ {$ ENTITY _ SET _ COLLECTION _ ID }" ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTYPE _ ID Ġ= Ġ" type Id " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTYPE _ ID _ PATH Ġ= Ġ"/ {$ TYPE _ ID }" ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠAUTO _ CREATE Ġ= Ġ" auto Create " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġall ĠEntityType Collection Ġobjects ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET ( BASE Ġ+ ĠENT ITY _ TYPE _ PATH ) ĊĠĠĠ Ġfun ĠgetAll EntityType Collections (): ĠIterable < EntityType Collection > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġall Ġauthorized ĠEntity Set Collection Ġobjects ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET ( BASE Ġ+ ĠENT ITY _ SET _ PATH ) ĊĠĠĠ Ġfun ĠgetAll Entity Set Collections (): ĠIterable < Entity Set Collection > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe ĠEntityType Collection Ġobject Ġfor Ġa Ġgiven Ġid ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET ( BASE Ġ+ ĠENT ITY _ TYPE _ PATH Ġ+ ĠENT ITY _ TYPE _ COLLECTION _ ID _ PATH ) ĊĠĠĠ Ġfun Ġget EntityType Collection (@ Path ( ENTITY _ TYPE _ COLLECTION _ ID ) Ġentity Type Collection Id : ĠUUID ): ĠEntityType Collection ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe ĠEntity Set Collection Ġobject Ġfor Ġa Ġgiven Ġid ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET ( BASE Ġ+ ĠENT ITY _ SET _ PATH Ġ+ ĠENT ITY _ SET _ COLLECTION _ ID _ PATH ) ĊĠĠĠ Ġfun Ġget Entity Set Collection (@ Path ( ENTITY _ SET _ COLLECTION _ ID ) Ġentity Set Collection Id : ĠUUID ): ĠEntity Set Collection ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġall Ġauthorized ĠEntity Set Collections Ġfor Ġa Ġgiven ĠEntityType Collection Ġid ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET ( BASE Ġ+ ĠENT ITY _ SET _ PATH Ġ+ ĠENT ITY _ TYPE _ PATH Ġ+ ĠENT ITY _ TYPE _ COLLECTION _ ID _ PATH ) ĊĠĠĠ Ġfun Ġget Entity Set Collections OfType (@ Path ( ENTITY _ TYPE _ COLLECTION _ ID ) Ġentity Type Collection Id : ĠUUID ): ĠIterable < Entity Set Collection > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġnew ĠEntityType Collection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ POST ( BASE Ġ+ ĠENT ITY _ TYPE _ PATH ) ĊĠĠĠ Ġfun Ġcreate EntityType Collection (@ Body Ġentity Type Collection : ĠEntityType Collection ): ĠUUID ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġnew ĠEntity Set Collection . ĊĠĠĠĠ Ġ* ĠIf Ġauto Create Ġis Ġtrue , Ġany ĠEntity Sets Ġmissing Ġfrom Ġthe Ġtemplate Ġwill Ġbe Ġautomatically Ġgenerated . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ POST ( BASE Ġ+ ĠENT ITY _ SET _ PATH ) ĊĠĠĠ Ġfun Ġcreate Entity Set Collection (@ Body Ġentity Set Collection : ĠEntity Set Collection , Ġ@ Query ( AUTO _ CREATE ) Ġauto Create : ĠBoolean ): ĠUUID ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġmetadata Ġof Ġthe Ġspecified ĠEntityType Collection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PATCH ( BASE Ġ+ ĠENT ITY _ TYPE _ PATH Ġ+ ĠENT ITY _ TYPE _ COLLECTION _ ID _ PATH ) ĊĠĠĠ Ġfun Ġupdate EntityType Collection Metadata ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Path ( ENTITY _ SET _ COLLECTION _ ID ) Ġentity Type Collection Id : ĠUUID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Body Ġmetadata Update : ĠMetadata Update ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠApp ends Ġtype Ġto Ġtemplate Ġof Ġthe Ġspecified ĠEntityType Collection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PATCH ( BASE Ġ+ ĠENT ITY _ TYPE _ PATH Ġ+ ĠENT ITY _ TYPE _ COLLECTION _ ID _ PATH Ġ+ ĠTEMPLATE _ PATH ) ĊĠĠĠ Ġfun Ġadd Type To EntityType Collection Template ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Path ( ENTITY _ TYPE _ COLLECTION _ ID ) Ġentity Type Collection Id : ĠUUID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Body Ġcollection Template Type : ĠCollection Template Type ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRemoves Ġa Ġkey Ġfrom Ġan ĠEntityType Collection Ġtemplate ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ DELETE ( BASE Ġ+ ĠENT ITY _ TYPE _ PATH Ġ+ ĠENT ITY _ TYPE _ COLLECTION _ ID _ PATH Ġ+ ĠTEMPLATE _ PATH Ġ+ ĠTYPE _ ID _ PATH ) ĊĠĠĠ Ġfun Ġremove Type From EntityType Collection Template ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Path ( ENTITY _ TYPE _ COLLECTION _ ID ) Ġentity Type Collection Id : ĠUUID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Path ( TYPE _ ID ) Ġtype Id : ĠUUID ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġmetadata Ġof Ġthe Ġspecified ĠEntity Set Collection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PATCH ( BASE Ġ+ ĠENT ITY _ SET _ PATH Ġ+ ĠENT ITY _ SET _ COLLECTION _ ID _ PATH ) ĊĠĠĠ Ġfun Ġupdate Entity Set Collection Metadata ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Path ( ENTITY _ SET _ COLLECTION _ ID ) Ġentity Set Collection Id : ĠUUID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Body Ġmetadata Update : ĠMetadata Update ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġtemplate Ġof Ġthe Ġspecified ĠEntity Set Collection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PATCH ( BASE Ġ+ ĠENT ITY _ SET _ PATH Ġ+ ĠENT ITY _ SET _ COLLECTION _ ID _ PATH Ġ+ ĠTEMPLATE _ PATH ) ĊĠĠĠ Ġfun Ġupdate Entity Set Collection Template ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Path ( ENTITY _ SET _ COLLECTION _ ID ) Ġentity Set Collection Id : ĠUUID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Body Ġtemplate Updates : ĠMap < UUID , ĠUUID >) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDeletes Ġthe Ġspecified ĠEntityType Collection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ DELETE ( BASE Ġ+ ĠENT ITY _ TYPE _ PATH Ġ+ ĠENT ITY _ TYPE _ COLLECTION _ ID _ PATH ) ĊĠĠĠ Ġfun Ġdelete EntityType Collection (@ Path ( ENTITY _ TYPE _ COLLECTION _ ID ) Ġentity Type Collection Id : ĠUUID ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDeletes Ġthe Ġspecified ĠEntity Set Collection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ DELETE ( BASE Ġ+ ĠENT ITY _ SET _ PATH Ġ+ ĠENT ITY _ SET _ COLLECTION _ ID _ PATH ) ĊĠĠĠ Ġfun Ġdelete Entity Set Collection (@ Path ( ENTITY _ SET _ COLLECTION _ ID ) Ġentity Set Collection Id : ĠUUID ) Ċ }