Package one.microstream.reflect
Interface ReflectiveCopier<S>
- Type Parameters:
S- Does not necessarily have to be a class.
- All Known Implementing Classes:
ReflectiveCopier.Default
public interface ReflectiveCopier<S>
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classReflectiveCopier.Default<S> -
Method Summary
Modifier and Type Method Description <T extends S>
Tcopy(S sourceInstance, T targetInstance)CopyPredicatecopySelector()default <T extends S>
TcopyTo(T targetInstance)Predicate<? super Field>fieldSelector()<I extends Consumer<? super Field>>
IiterateFields(I iterator)static <S, C extends S>
ReflectiveCopier<S>New(Class<C> sourceClass)static <S, C extends S>
ReflectiveCopier<S>New(Class<C> sourceClass, S sourceInstance)static <S, C extends S>
ReflectiveCopier<S>New(Class<C> sourceClass, S sourceInstance, Predicate<? super Field> fieldSelector)static <S, C extends S>
ReflectiveCopier<S>New(Class<C> sourceClass, S sourceInstance, Predicate<? super Field> fieldSelector, CopyPredicate copySelector)static <S> ReflectiveCopier<S>New(S sourceInstance)Class<?>sourceClass()Does not necessarily have to be S.SsourceInstance()
-
Method Details
-
copyTo
-
copy
-
sourceClass
Class<?> sourceClass()Does not necessarily have to be S. S could be an interface. -
sourceInstance
S sourceInstance() -
fieldSelector
-
copySelector
CopyPredicate copySelector() -
iterateFields
-
New
-
New
-
New
-
New
static <S, C extends S> ReflectiveCopier<S> New(Class<C> sourceClass, S sourceInstance, Predicate<? super Field> fieldSelector) -
New
static <S, C extends S> ReflectiveCopier<S> New(Class<C> sourceClass, S sourceInstance, Predicate<? super Field> fieldSelector, CopyPredicate copySelector)
-