Class DataLoaderRegistry
java.lang.Object
org.dataloader.DataLoaderRegistry
- Direct Known Subclasses:
ScheduledDataLoaderRegistry
This allows data loaders to be registered together into a single place so
they can be dispatched as one. It also allows you to retrieve data loaders by
name from a central place
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate -
Method Summary
Modifier and TypeMethodDescriptioncombine(DataLoaderRegistry registry) This will combine all the current data loaders in this registry and all the data loaders from the specified registry and return a new combined registry<K,V> DataLoader <K, V> computeIfAbsent(String key, Function<String, DataLoader<?, ?>> mappingFunction) Computes a data loader if absent or return it if it was already registered at that key.voidThis will calledDataLoader.dispatch()on each of the registeredDataLoadersintSimilar todispatchAll(), this callsDataLoader.dispatch()on each of the registeredDataLoaders, but returns the number of dispatches.int<K,V> DataLoader <K, V> getDataLoader(String key) Returns the dataloader that was registered under the specified keyList<DataLoader<?, ?>> Map<String, DataLoader<?, ?>> getKeys()static DataLoaderRegistry.Builderregister(String key, DataLoader<?, ?> dataLoader) This will register a new dataloaderunregister(String key) This will unregister a new dataloader
-
Field Details
-
dataLoaders
-
-
Constructor Details
-
DataLoaderRegistry
public DataLoaderRegistry() -
DataLoaderRegistry
-
-
Method Details
-
register
This will register a new dataloader- Parameters:
key- the key to put the data loader underdataLoader- the data loader to register- Returns:
- this registry
-
computeIfAbsent
public <K,V> DataLoader<K,V> computeIfAbsent(String key, Function<String, DataLoader<?, ?>> mappingFunction) Computes a data loader if absent or return it if it was already registered at that key.Note: The entire method invocation is performed atomically, so the function is applied at most once per key.
- Type Parameters:
K- the type of keysV- the type of values- Parameters:
key- the key of the data loadermappingFunction- the function to compute a data loader- Returns:
- a data loader
-
combine
This will combine all the current data loaders in this registry and all the data loaders from the specified registry and return a new combined registry- Parameters:
registry- the registry to combine into this registry- Returns:
- a new combined registry
-
getDataLoaders
- Returns:
- the currently registered data loaders
-
getDataLoadersMap
- Returns:
- the currently registered data loaders as a map
-
unregister
This will unregister a new dataloader- Parameters:
key- the key of the data loader to unregister- Returns:
- this registry
-
getDataLoader
Returns the dataloader that was registered under the specified key- Type Parameters:
K- the type of keysV- the type of values- Parameters:
key- the key of the data loader- Returns:
- a data loader or null if its not present
-
getKeys
-
dispatchAll
public void dispatchAll()This will calledDataLoader.dispatch()on each of the registeredDataLoaders -
dispatchAllWithCount
public int dispatchAllWithCount()Similar todispatchAll(), this callsDataLoader.dispatch()on each of the registeredDataLoaders, but returns the number of dispatches.- Returns:
- total number of entries that were dispatched from registered
DataLoaders.
-
dispatchDepth
public int dispatchDepth()- Returns:
- The sum of all batched key loads that need to be dispatched from all registered
DataLoaders
-
getStatistics
- Returns:
- a combined set of statistics for all data loaders in this registry presented as the sum of all their statistics
-
newRegistry
- Returns:
- A builder of
DataLoaderRegistrys
-