Kanzi framework  3.9.1
Java API
ResourceManager.LoadTask Class Referenceabstract

Load task allows implementing custom asynchronous resource loading. More...

Public Member Functions

 LoadTask ()
 Construct a ResourceLoadTask of type LoadAndFinish.
 
 LoadTask (ResourceLoadTaskType type)
 Construct a ResourceLoadTask with the provided task type. More...
 
abstract void finishFunction ()
 The part of the loading that the main thread executes. More...
 
abstract Resource getResult ()
 Returns the created resource. More...
 
final ResourceLoadTaskType getType ()
 Get the type of a load task. More...
 
void loadFunction ()
 You can override this function to define the part of the resource loading task that a worker thread executes. More...
 

Protected Member Functions

final void enqueueDependencies (String[] urls)
 Add resource dependencies for the load task. More...
 
final ResourceManager getResourceManager ()
 Get the resource manager of a load task. More...
 

Detailed Description

Load task allows implementing custom asynchronous resource loading.

A load task is split into an optional ResourceLoadTask#loadFunction and mandatory ResourceLoadTask#finishFunction. Kanzi can execute the ResourceLoadTask#loadFunction in a background worker thread, instead of the main thread. For this reason, perform here only thread-independent work. Kanzi calls the ResourceLoadTask#loadFunction in the main thread. The load task execution happens in this order:

Constructor & Destructor Documentation

◆ LoadTask()

Construct a ResourceLoadTask with the provided task type.

Parameters
typeThe task type that configures which task functions are called.

Member Function Documentation

◆ enqueueDependencies()

final void enqueueDependencies ( String []  urls)
protected

Add resource dependencies for the load task.

Can be called any number of times inside a ResourceLoadTask#loadFunction implementation. Informs the main thread of the dependencies, which can then trigger their async loading.

Parameters
urlsArray of dependency urls.

◆ finishFunction()

abstract void finishFunction ( )
abstract

The part of the loading that the main thread executes.

The function creates and stores a new resource that ResourceLoadTask#getResult() returns.

◆ getResourceManager()

final ResourceManager getResourceManager ( )
protected

Get the resource manager of a load task.

Returns
The resource manager.

◆ getResult()

abstract Resource getResult ( )
abstract

Returns the created resource.

Returns
The created resource.

◆ getType()

final ResourceLoadTaskType getType ( )

Get the type of a load task.

Returns
The type of the load task.

◆ loadFunction()

void loadFunction ( )

You can override this function to define the part of the resource loading task that a worker thread executes.

You cannot access any shared data inside the function.