# InputMergerFactory

# InputMergerFactory

Artifact:[androidx.work:work-runtime](https://developer.android.com/jetpack/androidx/releases/work)  
[View Source](https://cs.android.com/search?q=file:androidx/work/InputMergerFactory.kt+class:androidx.work.InputMergerFactory)  
Added in[2.3.0](https://developer.android.com/jetpack/androidx/releases/work#2.3.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/work/InputMergerFactory "View this page in Java")

<br />

```
abstract class InputMergerFactory
```

<br />

*** ** * ** ***

A factory object that creates[InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger)instances. The factory is invoked every time a work runs. You can override the default implementation of this factory by manually initializing[WorkManager](https://developer.android.com/reference/kotlin/androidx/work/WorkManager)(see[WorkManager.initialize](https://developer.android.com/reference/kotlin/androidx/work/WorkManager#initialize(android.content.Context,androidx.work.Configuration))and specifying a new[InputMergerFactory](https://developer.android.com/reference/kotlin/androidx/work/InputMergerFactory)in[Configuration.Builder.setInputMergerFactory](https://developer.android.com/reference/kotlin/androidx/work/Configuration.Builder#setInputMergerFactory(androidx.work.InputMergerFactory)).

## Summary

|                                                    ### Public constructors                                                     |
|--------------------------------------------------------------------------------------------------------------------------------|
| [InputMergerFactory](https://developer.android.com/reference/kotlin/androidx/work/InputMergerFactory#InputMergerFactory())`()` |

|                                         ### Public functions                                          |
|-------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract `[InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger)`?` | [createInputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMergerFactory#createInputMerger(kotlin.String))`(className: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Override this method to create an instance of a[InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger)given its fully qualified class name. |

## Public constructors

### InputMergerFactory

Added in[2.3.0](https://developer.android.com/jetpack/androidx/releases/work#2.3.0)  

```
InputMergerFactory()
```  

## Public functions

### createInputMerger

Added in[2.3.0](https://developer.android.com/jetpack/androidx/releases/work#2.3.0)  

```
abstract fun createInputMerger(className: String): InputMerger?
```

Override this method to create an instance of a[InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger)given its fully qualified class name.

Throwing an[Exception](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-exception/index.html)here will crash the application. If an[InputMergerFactory](https://developer.android.com/reference/kotlin/androidx/work/InputMergerFactory)is unable to create an instance of a[InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger), it should return`null`so it can delegate to the default[InputMergerFactory](https://developer.android.com/reference/kotlin/androidx/work/InputMergerFactory).  

|                                           Parameters                                           |
|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
| `className: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html) | The fully qualified class name for the[InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger) |

|                                          Returns                                           |
|--------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
| [InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger)`?` | an instance of[InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger) |