package Ġcom . acon no . sensor ics . domain . inter actor . repository Ċ Ċ import Ġcom . acon no . sensor ics . domain . ift tt .* Ċ import Ġcom . acon no . sensor ics . domain . inter actor . type . Comp letable UseCase With Parameter Ċ import Ġio . reactivex . Comp letable Ċ Ċ class ĠDelete Publish Device Join UseCase ( ĊĠĠĠ Ġprivate Ġval Ġpublish Device Join Repository : ĠPublish Device Join Repository Ċ ) Ġ: ĠComp letable UseCase With Parameter < Publish Device Join > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( parameter : ĠPublish Device Join ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠComp letable . from Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( parameter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠGoogle Publish Device Join Ġ-> Ġpublish Device Join Repository . delete Google Publish Device Join ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRest Publish Device Join Ġ-> Ġpublish Device Join Repository . delete Rest Publish Device Join ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠM qtt Publish Device Join Ġ-> Ġpublish Device Join Repository . delete Mqtt Publish Device Join ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Illegal Ġargument Ġprovided ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }