Interface DataProvider<T>
- Type Parameters:
T
- The type of handled objects.
public interface DataProvider<T>
Provides objects for display within a report plug-in's results list.
Providers must implement functionality to support incremental result lists in order to enable dynamic result loading during continuous scrolling operations:
Providers must implement functionality to support incremental result lists in order to enable dynamic result loading during continuous scrolling operations:
- Whenever the report is first displayed or its filter parameters are
changed by the user (requiring the generation of a completely new result list), a new object of this data provider
class is instantiated; Client will then call
start()
first to allow for setup of local fields that will be used in subsequent calls of other methods, e.g.getNext()
orisRunning()
. - Between filter
configuration changes, the current object instance of this class is persisted; Client will repeatedly call
getNext()
andisRunning()
in order to obtain incremental batches of result objects and to check if any further results that haven't yet been returned in those incremental batches are available, respectively.
- Since:
- 5.1.19
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closure method; called if the report provider is no longer needed.deserialize
(@NotNull String string) Returns the object for the givenid
ornull
if it couldn't be found or is no longer available.getNext
(int count) Returns an incremental result set of objects, potentially usingstart()
'sparameter
input as a filter configuration to limit the result set to match certain criteria.int
getTotal()
Returns the total number of results that are available for display in the report's results list (based on the current filter parameters) or-1
if the object-providing process is still running.boolean
Return the running state of this object.@Nullable String
Returns a string identifier for the givenobject
ornull
if this element has no identifier.void
start
(SpecialistsBroker broker, ParameterMap parameter) Initialization; called before any other methods.
-
Method Details
-
start
Initialization; called before any other methods. Typically used to start the object-providing process when the report is first displayed and when the filter configuration is changed.- Parameters:
broker
- Request local specialists brokerparameter
- Report parameter values (seeWebeditReportPlugin
).- Since:
- 5.1.19
-
getNext
Returns an incremental result set of objects, potentially usingstart()
'sparameter
input as a filter configuration to limit the result set to match certain criteria. The list should not contain more than the specifiedcount
of entries and not include duplicates of the same object in result lists during repeated calls of this method during the lifetime of this object.- Parameters:
count
- The requested count of elements.- Returns:
- A
List
of further objects that the client should include in the report's display. - Since:
- 5.1.19
-
isRunning
boolean isRunning()Return the running state of this object. IfgetNext()
has not yet returned all results that are available (based on whichever criteria), the provider should be considered running in order to communicate to the client that more results are available on-demand. If no further results can be returned bygetNext()
, the provider should be considered stopped (isRunning()
returnsfalse
) and remain that way for the remainder of the object's lifetime.- Returns:
true
if this provider is still running and can provide more results; otherwisefalse
.- Since:
- 5.1.19
-
getTotal
int getTotal()Returns the total number of results that are available for display in the report's results list (based on the current filter parameters) or-1
if the object-providing process is still running.- Returns:
- Total number of elements or
-1
while the object-providing process is running. - Since:
- 5.1.19
-
close
void close()Closure method; called if the report provider is no longer needed. Cleans up resources and stops object-providing processes.- Since:
- 5.1.19
-
serialize
Returns a string identifier for the givenobject
ornull
if this element has no identifier. Note: This method will only be used in the ContentCreator (webclient).- Parameters:
object
- to identify.- Returns:
- string identifier or
null
. - Since:
- 5.1.19
-
deserialize
Returns the object for the givenid
ornull
if it couldn't be found or is no longer available. Note: This method will only be used in the ContentCreator (webclient).- Parameters:
string
- object identifier, previously returned byserialize(Object)
.- Returns:
- identified object or
null
. - Since:
- 5.1.19
-