LongArrayConverter.java 837 B

12345678910111213141516171819202122232425262728
  1. package com.izouma.nineth.converter;
  2. import org.apache.commons.lang3.StringUtils;
  3. import javax.persistence.AttributeConverter;
  4. import javax.persistence.Converter;
  5. import java.util.ArrayList;
  6. import java.util.Arrays;
  7. import java.util.List;
  8. import java.util.stream.Collectors;
  9. @Converter
  10. public class LongArrayConverter implements AttributeConverter<List<Long>, String> {
  11. @Override
  12. public String convertToDatabaseColumn(List<Long> longs) {
  13. if (longs != null && !longs.isEmpty())
  14. return StringUtils.join(longs, ",");
  15. return null;
  16. }
  17. @Override
  18. public List<Long> convertToEntityAttribute(String s) {
  19. if (StringUtils.isNotEmpty(s)) {
  20. return Arrays.stream(s.split(",")).map(Long::parseLong).collect(Collectors.toList());
  21. }
  22. return new ArrayList<>();
  23. }
  24. }