package Ġcom . ny times . android . external . store 3 . middleware . mos hi Ċ Ċ import Ġcom . ny times . android . external . store 3 . base . Parser Ċ import Ġcom . squareup . mos hi . M oshi Ċ Ċ import Ġok io . Buffered Source Ċ Ċ /** Ċ Ġ* ĠFactory Ġwhich Ġreturns Ġvarious ĠM oshi Ġ[ Parser ] Ġimplementations . Ċ Ġ*/ Ċ object ĠM oshi Parser Factory Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġnew ĠParser Ġwhich Ġparses Ġfrom Ġa ĠString Ġto Ġthe Ġspecified Ġtype , Ġusing ĊĠĠĠĠ Ġ* Ġthe Ġprovided Ġ[ M oshi ] Ġinstance . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġ Ġfun Ġ< re ified ĠT > Ġcreate String Parser ( mos hi : ĠM oshi ): ĠParser < String , ĠT > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( mos hi Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException (" mos hi Ġcannot Ġbe Ġnull .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠM oshi String Parser ( mos hi , ĠT :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġnew ĠParser Ġwhich Ġparses Ġfrom Ġa ĠString Ġto Ġthe Ġspecified Ġtype , Ġusing ĊĠĠĠĠ Ġ* Ġa Ġnew Ġdefault Ġ[ M oshi ] Ġinstance . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġcreate String Parser (): ĠParser < String , ĠT > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate String Parser ( M oshi . Builder (). build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġnew ĠParser Ġwhich Ġparses Ġfrom Ġ[ Buffered Source ] Ġto Ġthe Ġspecified Ġtype , Ġusing ĊĠĠĠĠ Ġ* Ġthe Ġprovided Ġ[ M oshi ] Ġinstance . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġcreate Source Parser ( mos hi : ĠM oshi ): ĠParser < Buffered Source , ĠT > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( mos hi Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException (" mos hi Ġcannot Ġbe Ġnull .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠM oshi Source Parser < T >( mos hi , ĠT :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġnew ĠParser Ġwhich Ġparses Ġfrom Ġ[ Buffered Source ] Ġto Ġthe Ġspecified Ġtype , Ġusing ĊĠĠĠĠ Ġ* Ġa Ġnew Ġdefault Ġconfigured Ġ[ M oshi ] Ġinstance . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġcreate Source Parser (): ĠParser < Buffered Source , ĠT > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Source Parser ( M oshi . Builder (). build ()) ĊĠĠĠ Ġ} Ċ } Ċ