package Ġru . gb ix ah ue . eu 4 d . android . text . transformer . chain Ċ Ċ import Ġandroid . text . Sp ann able StringBuilder Ċ import Ġru . gb ix ah ue . eu 4 d . core . converter . text . transformer . chain . Chain Decorator Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠAnt on ĠZ hil enk ov Ġon Ġ 2 9 . 1 0 . 1 8 . Ċ Ġ*/ Ċ abstract Ġclass ĠBase Chain Decorator < R : ĠCharSequence >( ĊĠ Ġprotected Ġval Ġstart : ĠInt , ĊĠ Ġprotected Ġval Ġend : ĠInt , ĊĠ Ġprotected Ġval Ġsource : ĠR ? Ġ= Ġnull Ċ ): ĠChain Decorator < R > Ġ{ ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġif Ġ( start Ġ< Ġ 0 ) Ġthrow ĠIllegalArgumentException (" START Ġposition Ġcan 't Ġbe Ġlower Ġ 0 ") ĊĠĠĠ Ġif Ġ( end Ġ< Ġstart ) Ġthrow ĠIllegalArgumentException (" END Ġposition Ġcan 't Ġbe Ġlower Ġof ĠSTART Ġposition ") ĊĠĠĠ Ġif Ġ( source Ġ!= Ġnull Ġ&& Ġend Ġ> Ġsource . length ) Ġthrow ĠIllegalArgumentException (" END Ġposition Ġcan 't Ġbe Ġgr ater Ġthan Ġsource . LENGTH ") ĊĠ Ġ} ĊĊĠ Ġprotected Ġlateinit Ġvar Ġchain Source : ĠR ĊĊĠ Ġoverride Ġfun Ġset Source ( chain Source : ĠR ) Ġ{ ĊĠĠĠ Ġthis . chain Source Ġ= Ġsource Ġ?: Ġchain Source ĊĠ Ġ} ĊĊĠ Ġprotected Ġfun Ġget Builder (): ĠSp ann able StringBuilder Ġ{ ĊĠĠĠ Ġif Ġ( chain Source Ġis ĠSp ann able StringBuilder ) Ġreturn Ġchain Source Ġas ĠSp ann able StringBuilder ĊĊĠĠĠ Ġreturn ĠSp ann able StringBuilder ( chain Source ) ĊĠ Ġ} Ċ }