@Test public void testToAggregate() { MergeSingleImpl<OrderDto> underTest = new MergeSingleImpl<>(context, new OrderDto("1", "lightsaber")); Order order = new Order(); underTest.into(order); Assertions.assertThat(order.getProduct()) .isEqualTo("lightsaber"); }
@Override public <A extends AggregateRoot<I>, I> MergeFromRepository<A> into(Class<A> aggregateRootClass) { return new MergeSingleAggregateFromRepositoryImpl<>(context, dto, aggregateRootClass); }
MergeSingleImpl implements MergeSingleWithQualifier { @Override public <A extends AggregateRoot<I>, I> MergeFromRepository<A> into(Class<A> aggregateRootClass) { return new MergeSingleAggregateFromRepositoryImpl<>(context, dto, aggregateRootClass); } }
MergeSingleImpl implements MergeSingleWithQualifier { @Override public <A extends AggregateRoot<I>, I> MergeFromRepository<A> into(Class<A> aggregateRootClass) { return new MergeSingleAggregateFromRepositoryImpl<>(context, dto, aggregateRootClass); } @SuppressWarnings("unchecked")  MergeSingleImpl(Context context, D dto); }
MergeSingleImpl implements MergeSingleWithQualifier { @Override public <A extends AggregateRoot<I>, I> MergeFromRepository<A> into(Class<A> aggregateRootClass) { return new MergeSingleAggregateFromRepositoryImpl<>(context, dto, aggregateRootClass); } @SuppressWarnings("unchecked")  MergeSingleImpl(Context context, D dto); @Override MergeFromRepository<A> into(Class<A> aggregateRootClass); @Override MergeFromRepository<Pair<A0, A1>> into(Class<A0> first, Class<A1> second); @Override MergeFromRepository<Triplet<A0, A1, A2>> into(Class<A0> first,
            Class<A1> second, Class<A2> third); @Override MergeFromRepository<Quartet<A0, A1, A2, A3>> into(Class<A0> first,
            Class<A1> second, Class<A2> third, Class<A3> fourth); @Override MergeFromRepository<Quintet<A0, A1, A2, A3, A4>> into(Class<A0> first,
            Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth); @Override MergeFromRepository<Sextet<A0, A1, A2, A3, A4, A5>> into(Class<A0> first,
            Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth); @Override MergeFromRepository<Septet<A0, A1, A2, A3, A4, A5, A6>> into(Class<A0> first,
            Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth, Class<A6> seventh); @Override MergeFromRepository<Octet<A0, A1, A2, A3, A4, A5, A6, A7>> into(
            Class<A0> first, Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth,
            Class<A6> seventh, Class<A7> eighth); @Override MergeFromRepository<Ennead<A0, A1, A2, A3, A4, A5, A6, A7, A8>> into(
            Class<A0> first, Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth,
            Class<A6> seventh, Class<A7> eighth, Class<A8> ninth); @Override MergeFromRepository<Decade<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>> into(
            Class<A0> first, Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth,
            Class<A6> seventh, Class<A7> eighth, Class<A8> ninth,
            Class<A9> tenth); @Override void into(Unit<A> unit); @Override void into(Pair<A0, A1> pair); @Override void into(Triplet<A0, A1, A2> triplet); @Override void into(Quartet<A0, A1, A2, A3> quartet); @Override void into(Quintet<A0, A1, A2, A3, A4> quintet); @Override void into(Sextet<A0, A1, A2, A3, A4, A5> sextet); @Override void into(Septet<A0, A1, A2, A3, A4, A5, A6> septet); @Override void into(Octet<A0, A1, A2, A3, A4, A5, A6, A7> octet); @Override void into(Ennead<A0, A1, A2, A3, A4, A5, A6, A7, A8> ennead); @Override void into(Decade<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> decade); @Override @SuppressWarnings("unchecked") void into(A aggregateRoot); @Override void into(A0 first, A1 second); @Override void into(A0 first, A1 second, A2 third); @Override void into(A0 first, A1 second, A2 third, A3 fourth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth,
            A6 seventh); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth,
            A6 seventh, A7 eighth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth,
            A6 seventh, A7 eighth, A8 ninth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth,
            A6 seventh, A7 eighth, A8 ninth, A9 tenth); @Override MergeSingle with(Annotation qualifier); @Override MergeSingle with(Class<? extends Annotation> qualifier); @Override MergeSingle with(String qualifier); }
MergeSingleImpl implements MergeSingleWithQualifier { @Override public <A extends AggregateRoot<I>, I> MergeFromRepository<A> into(Class<A> aggregateRootClass) { return new MergeSingleAggregateFromRepositoryImpl<>(context, dto, aggregateRootClass); } @SuppressWarnings("unchecked")  MergeSingleImpl(Context context, D dto); @Override MergeFromRepository<A> into(Class<A> aggregateRootClass); @Override MergeFromRepository<Pair<A0, A1>> into(Class<A0> first, Class<A1> second); @Override MergeFromRepository<Triplet<A0, A1, A2>> into(Class<A0> first,
            Class<A1> second, Class<A2> third); @Override MergeFromRepository<Quartet<A0, A1, A2, A3>> into(Class<A0> first,
            Class<A1> second, Class<A2> third, Class<A3> fourth); @Override MergeFromRepository<Quintet<A0, A1, A2, A3, A4>> into(Class<A0> first,
            Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth); @Override MergeFromRepository<Sextet<A0, A1, A2, A3, A4, A5>> into(Class<A0> first,
            Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth); @Override MergeFromRepository<Septet<A0, A1, A2, A3, A4, A5, A6>> into(Class<A0> first,
            Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth, Class<A6> seventh); @Override MergeFromRepository<Octet<A0, A1, A2, A3, A4, A5, A6, A7>> into(
            Class<A0> first, Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth,
            Class<A6> seventh, Class<A7> eighth); @Override MergeFromRepository<Ennead<A0, A1, A2, A3, A4, A5, A6, A7, A8>> into(
            Class<A0> first, Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth,
            Class<A6> seventh, Class<A7> eighth, Class<A8> ninth); @Override MergeFromRepository<Decade<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>> into(
            Class<A0> first, Class<A1> second, Class<A2> third, Class<A3> fourth, Class<A4> fifth, Class<A5> sixth,
            Class<A6> seventh, Class<A7> eighth, Class<A8> ninth,
            Class<A9> tenth); @Override void into(Unit<A> unit); @Override void into(Pair<A0, A1> pair); @Override void into(Triplet<A0, A1, A2> triplet); @Override void into(Quartet<A0, A1, A2, A3> quartet); @Override void into(Quintet<A0, A1, A2, A3, A4> quintet); @Override void into(Sextet<A0, A1, A2, A3, A4, A5> sextet); @Override void into(Septet<A0, A1, A2, A3, A4, A5, A6> septet); @Override void into(Octet<A0, A1, A2, A3, A4, A5, A6, A7> octet); @Override void into(Ennead<A0, A1, A2, A3, A4, A5, A6, A7, A8> ennead); @Override void into(Decade<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> decade); @Override @SuppressWarnings("unchecked") void into(A aggregateRoot); @Override void into(A0 first, A1 second); @Override void into(A0 first, A1 second, A2 third); @Override void into(A0 first, A1 second, A2 third, A3 fourth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth,
            A6 seventh); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth,
            A6 seventh, A7 eighth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth,
            A6 seventh, A7 eighth, A8 ninth); @Override void into(A0 first, A1 second, A2 third, A3 fourth, A4 fifth, A5 sixth,
            A6 seventh, A7 eighth, A8 ninth, A9 tenth); @Override MergeSingle with(Annotation qualifier); @Override MergeSingle with(Class<? extends Annotation> qualifier); @Override MergeSingle with(String qualifier);  }