ArrayCreatingInputMerger
class ArrayCreatingInputMerger : InputMerger
kotlin.Any | ||
↳ | androidx.work.InputMerger | |
↳ | androidx.work.ArrayCreatingInputMerger |
An InputMerger
that attempts to merge the inputs, creating arrays when necessary. For each input, we look at each key:
- If this is the first time we encountered the key:
- If it's an array, put it in the output
- If it's a primitive, turn it into a size 1 array and put it in the output
- Else (we have encountered the key before):
- If the value type matches the old value type:
- If they are arrays, concatenate them
- If they are primitives, turn them into a size 2 array
- Else if one is an array and the other is a primitive of that type:
- Make a longer array and concatenate them
- Else throw an
IllegalArgumentException
because the types don't match
Summary
Public constructors | |
---|---|
<init>() An |
Public methods | |
---|---|
Data |
merge(@NonNull inputs: MutableList<Data!>) |
Public constructors
<init>
ArrayCreatingInputMerger()
An InputMerger
that attempts to merge the inputs, creating arrays when necessary. For each input, we look at each key:
- If this is the first time we encountered the key:
- If it's an array, put it in the output
- If it's a primitive, turn it into a size 1 array and put it in the output
- Else (we have encountered the key before):
- If the value type matches the old value type:
- If they are arrays, concatenate them
- If they are primitives, turn them into a size 2 array
- Else if one is an array and the other is a primitive of that type:
- Make a longer array and concatenate them
- Else throw an
IllegalArgumentException
because the types don't match
Public methods
merge
@NonNull fun merge(@NonNull inputs: MutableList<Data!>): Data