package Ġorg . ny pl . simpl ified . ui . catalog . saml 2 0 Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġorg . ny pl . simpl ified . accounts . database . api . Account Type Ċ import Ġorg . ny pl . simpl ified . books . api . Book ID Ċ import Ġorg . ny pl . simpl ified . books . book _ registry . Book Registry Type Ċ import Ġorg . ny pl . simpl ified . books . controller . api . Books Controller Type Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠA Ġfactory Ġfor ĠSAML Ġ 2 . 0 Ġview Ġstate . Ċ Ġ*/ Ċ Ċ class ĠCatalog SAML 2 0 ViewModel Factory ( ĊĠ Ġprivate Ġval Ġbooks Controller : ĠBooks Controller Type , ĊĠ Ġprivate Ġval Ġbook Registry : ĠBook Registry Type , ĊĠ Ġprivate Ġval Ġaccount : ĠAccount Type , ĊĠ Ġprivate Ġval Ġbook ID : ĠBook ID , ĊĠ Ġprivate Ġval ĠwebView Data Dir : ĠFile Ċ ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĊĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠ Ġif Ġ( model Class Ġ== ĠCatalog SAML 2 0 ViewModel :: class . java ) Ġ{ ĊĠĠĠĠĠ Ġreturn ĠCatalog SAML 2 0 ViewModel ( ĊĠĠĠĠĠĠĠ Ġbooks Controller Ġ= Ġthis . books Controller , ĊĠĠĠĠĠĠĠ Ġbook Registry Ġ= Ġthis . book Registry , ĊĠĠĠĠĠĠĠ Ġaccount Ġ= Ġthis . account , ĊĠĠĠĠĠĠĠ Ġbook ID Ġ= Ġthis . book ID , ĊĠĠĠĠĠĠĠ ĠwebView Data Dir Ġ= Ġthis . web ViewData Dir ĊĠĠĠĠĠ Ġ) Ġas ĠT ĊĠĠĠ Ġ} ĊĠĠĠ Ġthrow ĠIllegalStateException (" Can 't Ġcreate Ġvalues Ġof Ġ$ model Class ") ĊĠ Ġ} Ċ } Ċ