package Ġorg . she ed on . mqtt Ċ Ċ /** Ċ Ġ* ĠTopic Ġheader Ġinformation , Ġwhich Ġrecords Ġthe Ġconfiguration Ġinformation Ġof Ġthe Ġcurrently Ġsubscribed Ġtopic Ċ Ġ* Ċ Ġ* ĠAttach Record : need Ġlogged Ġto Ġthe Ġcache Ġto Ġfacilitate Ġsubscription Ġin Ġcase Ġof Ġre connection , Ċ Ġ* Ġdefault Ġit Ġis Ġfalse , that Ġdon 't Ġlog Ġinto Ġthe Ġcache . Ċ Ġ* Ċ Ġ* ĠSubscription Type : The Ġscope Ġof Ġthe Ġcurrent Ġ[ Topics ], ĠIf Ġ[ Subscription Type . REMOTE ] Ġis Ġused , Ċ Ġ* Ġthat Ġmeans Ġthat Ġthe Ġcurrent Ġ[ Topics ] Ġperforms ĠMQTT ĠTopic Ġsubscription Ġwithout Ġsub scri bing , Ċ Ġ* Ġand Ġassoci ates Ġthe Ġcurrent Ġ[ Topics ] Ġwith Ġthe Ġcallback Ġimplementation . Ċ Ġ* ĠIf Ġthe Ġtype Ġis Ġ[ Subscription Type . LOCAL ], Ġthat Ġjust Ġassociated Ġwith Ġcallback , Ġno Ġneed Ġto Ġsubscribe Ġto Ġmqtt Ġtopic . Ċ Ġ* ĠThe Ġdefault Ġis Ġ[ Subscription Type . REMOTE ]. Ċ Ġ* Ċ Ġ* Ġ@ Author : Ġshe ed on Ċ Ġ* Ġ@ Email : Ġshe ed ons un @ 1 6 3 . com Ċ Ġ* Ġ@ Date : Ġ 2 0 2 2 / 4 / 3 Ġ 4 : 0 0 Ġä¸ĭåįĪ Ċ Ġ*/ Ċ class ĠHeaders Ġinternal Ġconstructor ( ĊĠĠĠ Ġinternal Ġval Ġattach Record : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġinternal Ġval Ġsubscription Type : ĠSubscription Type Ġ= ĠSubscription Type . REMOTE , Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġto Builder (): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠBuilder () ĊĠĠĠĠĠĠĠ Ġbuilder . attach Record ( attach Record ) ĊĠĠĠĠĠĠĠ Ġbuilder . subscription Type ( subscription Type ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠHeaders ĊĊĠĠĠĠĠĠĠ Ġif Ġ( attach Record Ġ!= Ġother . attach Record ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( subscription Type Ġ!= Ġother . subscription Type ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġattach Record . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġsubscription Type . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġattach Record : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġsubscription Type : ĠSubscription Type Ġ= ĠSubscription Type . REMOTE ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSets Ġthe Ġattach Record Ġtarget Ġof Ġthis Ġtopics . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠWhether Ġto Ġappend Ġto Ġthe Ġcache Ġrecord , Ġif Ġfalse , ĊĠĠĠĠĠĠĠĠ Ġ* Ġit Ġmeans Ġa Ġsingle Ġsubscription , Ġafter Ġclearing Ġthe Ġbehavior , Ġit Ġwill Ġnot Ġbe Ġrestored . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġattach Record ĊĠĠĠĠĠĠĠĠ Ġ* ĠĠĠĠĠĠĠĠĠĠĠ ĠWhether Ġto Ġappend Ġto Ġthe Ġcache Ġrecord . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġattach Record ( attach Record : ĠBoolean ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . attach Record Ġ= Ġattach Record ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSets Ġthe Ġsubscription Type Ġtarget Ġof Ġthis Ġtopics . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġscope Ġof Ġthe Ġcurrent Ġ[ Topics ], ĠIf Ġ[ Subscription Type . REMOTE ] Ġis Ġused , Ġthat Ġmeans Ġthat ĊĠĠĠĠĠĠĠĠ Ġ* Ġthe Ġcurrent Ġ[ Topics ] Ġperforms ĠMQTT ĠTopic Ġsubscription Ġwithout Ġsub scri bing , Ġand Ġassoci ates ĊĠĠĠĠĠĠĠĠ Ġ* Ġthe Ġcurrent Ġ[ Topics ] Ġwith Ġthe Ġcallback Ġimplementation . ĠIf Ġthe Ġtype Ġis Ġ[ Subscription Type . LOCAL ], ĊĠĠĠĠĠĠĠĠ Ġ* Ġthat Ġjust Ġassociated Ġwith Ġcallback , Ġno Ġneed Ġto Ġsubscribe Ġto Ġmqtt Ġtopic . ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdefault Ġis Ġ[ Subscription Type . REMOTE ]. ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġsubscription Type ĊĠĠĠĠĠĠĠĠ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠ ĠSets Ġthe Ġscope Ġof Ġthe Ġcurrent Ġ[ Topics ]. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġsubscription Type ( subscription Type : ĠSubscription Type ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . subscription Type Ġ= Ġsubscription Type ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠHeaders Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠHeaders ( attach Record , Ġsubscription Type ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }