SyncModelController<T extends OfflineFirstWithRestModel> class
Null safety
Sync Model Controller
- Inheritance
- Object
- GetLifeCycle
- DisposableInterface
- GetxController
- SyncModelController
- Implementers
Constructors
Properties
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- hasListeners → bool
-
read-only, inherited
- hydrated ↔ bool
-
the first call to
.get()
will always try to hydrate the local dbread / write - initialized → bool
-
Checks whether the controller has already been initialized.
read-only, inherited
- isClosed → bool
-
Checks whether the controller has already been closed.
read-only, inherited
- lastError → Exception?
-
Last error
read-only
- listeners → int
-
read-only, inherited
-
onDelete
→ InternalFinalCallback<
void> -
Internal callback that starts the cycle of this controller.
final, inherited
-
onStart
→ InternalFinalCallback<
void> -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclases.
This method should be internal and is required to define the
lifetime cycle of the subclass.
final, inherited
- repository → SyncRepository
-
Sync controller repository
read-only
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
-
state
→ Rx<
SyncModelState> -
Sync model state
late, final
- syncController → SyncController
-
Sync controller
@protected, final
Methods
-
$configureLifeCycle(
) → void -
inherited
-
addListener(
GetStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, GetStateUpdate listener) → Disposer -
inherited
-
clearTable(
) → Future< void> - Clear all current entries for this model [...]
-
delete(
T model, {Query? query}) → Future< bool> -
Remove a model from SQLite and the
remoteProvider
-
dispose(
) → void -
@mustCallSuper, inherited
-
disposeId(
Object id) → void -
To dispose an
id
from future updates(), this ids are registered byGetBuilder()
or similar, so is a way to unlink the state change with the Widget from the Controller.inherited -
get(
{Query? query, bool alwaysHydrate = false, bool hydrateUnexisting = true, bool requireRemote = false, bool seedOnly = false}) → Future< List< T> ?> -
Load association from SQLite first; if the
_Model
hasn't been loaded previously, fetch it fromremoteProvider
and hydrate SQLite. For available query providerArgs seeremoteProvider#get
SqliteProvider.get. [...] -
getLatest(
{Query? query, bool alwaysHydrate = false, bool hydrateUnexisting = true, bool requireRemote = false, bool seedOnly = false}) → Future< T?> - Get the latest result from the repository
-
modelStateFromSyncState(
SyncState syncState) → dynamic - Propagate the SyncModelState for the SyncState provided
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
notifyChildrens(
) → void -
@protected, inherited
-
onClose(
) → void -
Called before onDelete method. onClose might be used to
dispose resources used by the controller. Like closing events,
or streams before the controller is destroyed.
Or dispose objects that can potentially create some memory leaks,
like TextEditingControllers, AnimationControllers.
Might be useful as well to persist some data on disk.
inherited
-
onInit(
) → Future< void> -
wait for sync to initialize
doing migrations, starting queue, etc.
override
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
refresh(
) → void -
@protected, inherited
-
refreshGroup(
Object id) → void -
@protected, inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
toString(
) → String -
A string representation of this object. [...]
inherited
-
update(
[List< Object> ? ids, bool condition = true]) → void -
Rebuilds
GetBuilder
each time you callupdate()
; Can take a List ofids
, that will only update the matchingGetBuilder( id: )
,ids
can be reused amongGetBuilders
like group tags. The update will only notify the Widgets, ifcondition
is true.inherited -
upsert(
T model, {Query? query}) → Future< T?> -
Update or insert a
model
Operators
-
operator ==(
Object other) → bool -
The equality operator. [...]
inherited
Static Methods
-
instance<
T extends OfflineFirstWithRestModel> () → SyncModelController< T> - Current inserted instance