All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.saphyra.converter.ConverterBase Maven / Gradle / Ivy

package com.github.saphyra.converter;

import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

public abstract class ConverterBase implements Converter {
    @Override
    public Optional convertEntity(Optional entity) {
        return convertEntityToOptional(entity.orElse(null));
    }

    @Override
    public Optional convertEntityToOptional(E entity) {
        return Optional.ofNullable(convertEntity(entity));
    }

    @Override
    public List convertEntity(List entity) {
        if (entity == null) {
            return null;
        }
        return entity.stream().map(this::convertEntity).collect(Collectors.toList());
    }

    @Override
    public Optional convertDomain(Optional domain) {
        return convertDomainToOptional(domain.orElseThrow(() -> new IllegalArgumentException("domain must not be null.")));
    }

    @Override
    public Optional convertDomainToOptional(D domain) {
        return Optional.of(convertDomain(domain));
    }

    @Override
    public List convertDomain(List domain) {
        if (domain == null) {
            throw new IllegalArgumentException("domain must not be null.");
        }
        return domain.stream().map(this::convertDomain).collect(Collectors.toList());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy