Package 

Class BaseViewModelFactory

  • All Implemented Interfaces:
    androidx.lifecycle.ViewModelProvider.Factory , app.futured.arkitekt.dagger.factory.ViewModelFactory

    
    public abstract class BaseViewModelFactory<T extends BaseViewModel<?>>
     implements ViewModelFactory<T>
                        

    Base class for creating instances of ViewModel. Instance of this factory is required to be available in Activity/Fragment for automatic ViewModel instance creation. Factory might be automatically generated and should look like this:

    class FormViewModelFactory @Inject constructor( override val viewModelProvider: Provider<FormViewModel> ) : BaseViewModelFactory<FormViewModel>() { override val viewModelClass = FormViewModel::class }

    • Method Summary

      Modifier and Type Method Description
      abstract Provider<T> getViewModelProvider() ViewModel provider definition.
      abstract KClass<T> getViewModelClass() ViewModel class definition eg:
          override val viewModelClass = FormViewModel::class
      <T extends ViewModel> T create(Class<T> modelClass)
      • Methods inherited from class app.futured.arkitekt.dagger.factory.ViewModelFactory

        create
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BaseViewModelFactory

        BaseViewModelFactory()
    • Method Detail

      • getViewModelProvider

         abstract Provider<T> getViewModelProvider()

        ViewModel provider definition. Provider<VM> is automatically generated when ViewModel constructor has @Inject annotation.

      • getViewModelClass

         abstract KClass<T> getViewModelClass()

        ViewModel class definition eg:

            override val viewModelClass = FormViewModel::class