From 9679506278fbf3e76c74a8af09731760ebd45be5 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 26 Apr 2017 13:59:35 +0200 Subject: [PATCH] DATACASS-439 - Polishing. Refactor static converter instances to enum types with a single instance. --- .../core/converter/ResultSetToListConverter.java | 2 +- .../cassandra/core/converter/RowToArrayConverter.java | 11 ++++++++--- .../cassandra/core/converter/RowToListConverter.java | 4 ++-- .../cassandra/core/converter/RowToMapConverter.java | 4 ++-- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/spring-cql/src/main/java/org/springframework/cassandra/core/converter/ResultSetToListConverter.java b/spring-cql/src/main/java/org/springframework/cassandra/core/converter/ResultSetToListConverter.java index 2e2c3bf1d..bb861a69f 100644 --- a/spring-cql/src/main/java/org/springframework/cassandra/core/converter/ResultSetToListConverter.java +++ b/spring-cql/src/main/java/org/springframework/cassandra/core/converter/ResultSetToListConverter.java @@ -38,7 +38,7 @@ public class ResultSetToListConverter implements Converter { +/** + * Converter to convert {@link Row} to {@link Object} array. + * + * @author Mark Paluch + */ +public enum RowToArrayConverter implements Converter { - protected RowToListConverter delegate = new RowToListConverter(); + INSTANCE; /* (non-Javadoc) * @see org.springframework.core.convert.converter.Converter#convert(java.lang.Object) @@ -31,7 +36,7 @@ public class RowToArrayConverter implements Converter { @Override public Object[] convert(Row row) { - List list = delegate.convert(row); + List list = RowToListConverter.INSTANCE.convert(row); return list == null ? null : list.toArray(); } } diff --git a/spring-cql/src/main/java/org/springframework/cassandra/core/converter/RowToListConverter.java b/spring-cql/src/main/java/org/springframework/cassandra/core/converter/RowToListConverter.java index fbea029e2..22c2d9de1 100644 --- a/spring-cql/src/main/java/org/springframework/cassandra/core/converter/RowToListConverter.java +++ b/spring-cql/src/main/java/org/springframework/cassandra/core/converter/RowToListConverter.java @@ -34,9 +34,9 @@ import com.datastax.driver.core.Row; * @author Antoine Toulme */ @ReadingConverter -public class RowToListConverter implements Converter> { +public enum RowToListConverter implements Converter> { - public final static RowToListConverter INSTANCE = new RowToListConverter(); + INSTANCE; /* (non-Javadoc) * @see org.springframework.core.convert.converter.Converter#convert(java.lang.Object) diff --git a/spring-cql/src/main/java/org/springframework/cassandra/core/converter/RowToMapConverter.java b/spring-cql/src/main/java/org/springframework/cassandra/core/converter/RowToMapConverter.java index b8ed7e24e..8d5d83a28 100644 --- a/spring-cql/src/main/java/org/springframework/cassandra/core/converter/RowToMapConverter.java +++ b/spring-cql/src/main/java/org/springframework/cassandra/core/converter/RowToMapConverter.java @@ -34,9 +34,9 @@ import com.datastax.driver.core.Row; * @author Antoine Toulme */ @ReadingConverter -public class RowToMapConverter implements Converter> { +public enum RowToMapConverter implements Converter> { - public final static RowToMapConverter INSTANCE = new RowToMapConverter(); + INSTANCE; /* (non-Javadoc) * @see org.springframework.core.convert.converter.Converter#convert(java.lang.Object)