T - List typepublic class IndexListMergeBehavior<T extends List> extends Object implements GlobalMergeBehavior<T,T,T>
List merge behavior by their element indices.
Only elements under the same indices will be merged, everything else will be added at the end of list.
If existing list is smaller than merged one new list will be created for the merge result.
Also new array will be created for the merge result if existing and merged array component types are inconsistent.Merge,
Serialized Form| Constructor and Description |
|---|
IndexListMergeBehavior() |
| Modifier and Type | Method and Description |
|---|---|
T |
merge(RecursiveMerge merge,
Class type,
T base,
T merged,
int depth)
Performs merge of the two provided objects and returns resulting object.
|
boolean |
supports(RecursiveMerge merge,
Class<T> type,
Object base,
Object merged)
Returns whether or not this behavior supports specified objects merge.
|
public boolean supports(@NotNull RecursiveMerge merge, @NotNull Class<T> type, @NotNull Object base, @NotNull Object merged)
GlobalMergeBehaviorsupports in interface GlobalMergeBehavior<T extends List,T extends List,T extends List>merge - RecursiveMerge algorithmtype - expected resulting object Class typebase - base object, should never be nullmerged - object to merge, should never be nulltrue if this behavior supports specified objects merge, false otherwise@NotNull public T merge(@NotNull RecursiveMerge merge, @NotNull Class type, @NotNull T base, @NotNull T merged, int depth)
GlobalMergeBehaviormerge in interface GlobalMergeBehavior<T extends List,T extends List,T extends List>merge - RecursiveMerge algorithmtype - expected resulting object Class typebase - base object, should never be nullmerged - object to merge, should never be nulldepth - merge calls stack depthCopyright © 2020. All rights reserved.