public final class Merge extends Object implements Serializable
merge(Object, Object) method.
To merge multiple objects using this class instance call merge(Object, Object, Object...) method.
To merge all objects from a single collection using this class instance call merge(Collection) method.NullResolver,
UnknownResolver,
GlobalMergeBehavior,
MergeBehavior,
Mergeable,
Overwriting,
Serialized Form| Constructor and Description |
|---|
Merge(ClonePolicy baseClonePolicy,
ClonePolicy mergedClonePolicy,
NullResolver nullResolver,
UnknownResolver unknownResolver,
GlobalMergeBehavior... behaviors)
Constructs new
Merge algorithm. |
Merge(ClonePolicy baseClonePolicy,
ClonePolicy mergedClonePolicy,
NullResolver nullResolver,
UnknownResolver unknownResolver,
List<GlobalMergeBehavior> behaviors)
Constructs new
Merge algorithm. |
Merge(NullResolver nullResolver,
UnknownResolver unknownResolver,
GlobalMergeBehavior... behaviors)
Constructs new
Merge algorithm. |
Merge(NullResolver nullResolver,
UnknownResolver unknownResolver,
List<GlobalMergeBehavior> behaviors)
Constructs new
Merge algorithm. |
| Modifier and Type | Method and Description |
|---|---|
static Merge |
basic()
Returns
Merge algorithm that is able to merge basic object types. |
static Merge |
basicRaw()
Returns
Merge algorithm that is able to merge basic object types. |
static Merge |
deep()
Returns
Merge algorithm that can also merge custom objects through ReflectionMergeBehavior. |
static Merge |
deepRaw()
Returns
Merge algorithm that can also merge custom objects through ReflectionMergeBehavior. |
<T> T |
merge(Collection<?> objects)
Performs merge of all provided objects and returns resulting object.
|
<T> T |
merge(Object base,
Object merged)
Performs merge of the two provided objects and returns resulting object.
|
<T> T |
merge(Object base,
Object merged,
Object... more)
Performs merge of all provided objects and returns resulting object.
|
<T> T |
nonNullMerge(Collection<?> objects)
Performs merge of all provided objects and returns resulting non-
null object. |
<T> T |
nonNullMerge(Object base,
Object merged)
Performs merge of the two provided objects and returns resulting non-
null object. |
<T> T |
nonNullMerge(Object base,
Object merged,
Object... more)
Performs merge of all provided objects and returns resulting non-
null object. |
public Merge(@NotNull NullResolver nullResolver, @NotNull UnknownResolver unknownResolver, @NotNull GlobalMergeBehavior... behaviors)
Merge algorithm.nullResolver - object merge null case resolverunknownResolver - unknown object types case resolverbehaviors - behaviors taking part in this merge algorithm instancepublic Merge(@NotNull ClonePolicy baseClonePolicy, @NotNull ClonePolicy mergedClonePolicy, @NotNull NullResolver nullResolver, @NotNull UnknownResolver unknownResolver, @NotNull GlobalMergeBehavior... behaviors)
Merge algorithm.baseClonePolicy - ClonePolicy for base objectmergedClonePolicy - ClonePolicy for merged objectsnullResolver - object merge null case resolverunknownResolver - unknown object types case resolverbehaviors - behaviors taking part in this merge algorithm instancepublic Merge(@NotNull NullResolver nullResolver, @NotNull UnknownResolver unknownResolver, @NotNull List<GlobalMergeBehavior> behaviors)
Merge algorithm.nullResolver - object merge null case resolverunknownResolver - unknown object types case resolverbehaviors - behaviors taking part in this merge algorithm instancepublic Merge(@NotNull ClonePolicy baseClonePolicy, @NotNull ClonePolicy mergedClonePolicy, @NotNull NullResolver nullResolver, @NotNull UnknownResolver unknownResolver, @NotNull List<GlobalMergeBehavior> behaviors)
Merge algorithm.baseClonePolicy - ClonePolicy for base objectmergedClonePolicy - ClonePolicy for merged objectsnullResolver - object merge null case resolverunknownResolver - unknown object types case resolverbehaviors - behaviors taking part in this merge algorithm instance@Nullable public <T> T merge(@Nullable Object base, @Nullable Object merged)
base and/or merged will be copied depends on baseClonePolicy and mergedClonePolicy.T - resulting object typebase - base objectmerged - object to merge@NotNull public <T> T nonNullMerge(@NotNull Object base, @NotNull Object merged)
null object.
Depending on the case it might be one of the two provided objects, their copy or their merge result.
Whether or not base and/or merged will be copied depends on baseClonePolicy and mergedClonePolicy.T - resulting object typebase - base objectmerged - object to mergenull merge result@Nullable public <T> T merge(@Nullable Object base, @Nullable Object merged, @NotNull Object... more)
base and/or merged will be copied depends on baseClonePolicy and mergedClonePolicy.T - resulting object typebase - base objectmerged - object to mergemore - more objects to merge@NotNull public <T> T nonNullMerge(@NotNull Object base, @NotNull Object merged, @NotNull Object... more)
null object.
Depending on the case it might be one of the two provided objects, their copy or their merge result.
Whether or not base and/or merged will be copied depends on baseClonePolicy and mergedClonePolicy.T - resulting object typebase - base objectmerged - object to mergemore - more objects to mergenull merge result@Nullable public <T> T merge(@NotNull Collection<?> objects)
base and/or merged will be copied depends on baseClonePolicy and mergedClonePolicy.T - resulting object typeobjects - objects to merge@NotNull public <T> T nonNullMerge(@NotNull Collection<?> objects)
null object.
Depending on the case it might be one of the provided objects, their copy or their merge result.
Whether or not base and/or merged will be copied depends on baseClonePolicy and mergedClonePolicy.T - resulting object typeobjects - objects to mergenull merge result@NotNull public static Merge basic()
Merge algorithm that is able to merge basic object types.
It also creates copy for both base and merged objects before merging them together.Merge algorithm that is able to merge basic object types@NotNull public static Merge basicRaw()
Merge algorithm that is able to merge basic object types.Merge algorithm that is able to merge basic object types@NotNull public static Merge deep()
Merge algorithm that can also merge custom objects through ReflectionMergeBehavior.
Be careful when using this merge algorithm as it will go through all object references and will merge any existing fields.
It also creates copy for both base and merged objects before merging them together.Merge algorithm that can also merge custom objects through ReflectionMergeBehavior@NotNull public static Merge deepRaw()
Merge algorithm that can also merge custom objects through ReflectionMergeBehavior.
Be careful when using this merge algorithm as it will go through all object references and will merge any existing fields.Merge algorithm that can also merge custom objects through ReflectionMergeBehaviorCopyright © 2020. All rights reserved.