@@ -0,0 +1,2458 @@
+package stexfires.core.mapper;%0A%0Aimport stexfires.core.Record;%0Aimport stexfires.core.message.RecordMessage;%0Aimport stexfires.core.record.StandardRecord;%0A%0Aimport java.util.Arrays;%0Aimport java.util.List;%0Aimport java.util.Objects;%0Aimport java.util.function.Function;%0Aimport java.util.stream.Collectors;%0A%0A/**%0A * @author Mathias Kalb%0A * @since 0.1%0A */%0Apublic class NewValuesMapper%3CT extends Record%3E implements RecordMapper%3CT, Record%3E %7B%0A%0A    protected final Function%3C? super T, List%3CString%3E%3E valuesFunction;%0A%0A    public NewValuesMapper(Function%3CT, List%3CString%3E%3E valuesFunction) %7B%0A        Objects.requireNonNull(valuesFunction);%0A        this.valuesFunction = valuesFunction;%0A    %7D%0A%0A    @SafeVarargs%0A    public static %3CT extends Record%3E NewValuesMapper%3CT%3E createMessages(RecordMessage%3C? super T%3E... recordMessages) %7B%0A        Objects.requireNonNull(recordMessages);%0A        return new NewValuesMapper%3C%3E(r -%3E Arrays.stream(recordMessages)%0A                                                .map(f -%3E f.createMessage(r))%0A                                                .collect(Collectors.toList()));%0A    %7D%0A%0A    public static %3CT extends Record%3E NewValuesMapper%3CT%3E createMessages(List%3CRecordMessage%3C? super T%3E%3E recordMessages) %7B%0A        Objects.requireNonNull(recordMessages);%0A        return new NewValuesMapper%3C%3E(r -%3E recordMessages.stream()%0A                                                        .map(f -%3E f.createMessage(r))%0A                                                        .collect(Collectors.toList()));%0A    %7D%0A%0A    @SafeVarargs%0A    public static %3CT extends Record%3E NewValuesMapper%3CT%3E applyFunctions(Function%3C? super T, String%3E... functions) %7B%0A        Objects.requireNonNull(functions);%0A        return new NewValuesMapper%3C%3E(r -%3E Arrays.stream(functions)%0A                                                .map(f -%3E f.apply(r))%0A                                                .collect(Collectors.toList()));%0A    %7D%0A%0A    public static %3CT extends Record%3E NewValuesMapper%3CT%3E applyFunctions(List%3CFunction%3C? super T, String%3E%3E functions) %7B%0A        Objects.requireNonNull(functions);%0A        return new NewValuesMapper%3C%3E(r -%3E functions.stream()%0A                                                   .map(f -%3E f.apply(r))%0A                                                   .collect(Collectors.toList()));%0A    %7D%0A%0A    @Override%0A    public Record map(T record) %7B%0A        return new StandardRecord(record.getCategory(), record.getRecordId(), valuesFunction.apply(record));%0A    %7D%0A%0A%7D%0A

Add NewValuesMapper