diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/DContainerFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/DContainerFactory.java
index ea9f0b109..77d0a1f72 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/DContainerFactory.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/DContainerFactory.java
@@ -8,7 +8,7 @@ import io.ebeaninternal.server.core.DefaultContainer;
/**
* Default container factory found via service loader.
*/
-public class DContainerFactory implements SpiContainerFactory {
+public final class DContainerFactory implements SpiContainerFactory {
@Override
public SpiContainer create(ContainerConfig containerConfig) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java
index 25fffe5b7..ac871e5eb 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java
@@ -23,12 +23,10 @@ import java.util.concurrent.locks.ReentrantLock;
/**
* ToOne bean load context.
*/
-class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContext {
+final class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContext {
private final boolean cache;
-
private List bufferList;
-
private LoadBuffer currentBuffer;
DLoadBeanContext(DLoadContext parent, BeanDescriptor> desc, String path, OrmQueryProperties queryProps) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadContext.java b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadContext.java
index 060633073..a7ec0e0c8 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadContext.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadContext.java
@@ -31,17 +31,13 @@ import java.util.Map;
/**
* Default implementation of LoadContext.
*/
-public class DLoadContext implements LoadContext {
+public final class DLoadContext implements LoadContext {
private final SpiEbeanServer ebeanServer;
-
private final BeanDescriptor> rootDescriptor;
-
private final Map beanMap = new HashMap<>();
private final Map manyMap = new HashMap<>();
-
private final DLoadBeanContext rootBeanContext;
-
private final boolean asDraft;
private final Timestamp asOf;
private final Boolean readOnly;
@@ -60,13 +56,9 @@ public class DLoadContext implements LoadContext {
private final String planLabel;
private final ProfileLocation profileLocation;
private final ProfilingListener profilingListener;
-
private final Map nodePathMap = new HashMap<>();
-
private PersistenceContext persistenceContext;
-
private List secQuery;
-
private Object tenantId;
/**
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadManyContext.java b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadManyContext.java
index 5d2b781c7..b830dc96d 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadManyContext.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadManyContext.java
@@ -21,14 +21,11 @@ import java.util.concurrent.locks.ReentrantLock;
/**
* ToMany bean load context.
*/
-class DLoadManyContext extends DLoadBaseContext implements LoadManyContext {
-
- protected final BeanPropertyAssocMany> property;
+final class DLoadManyContext extends DLoadBaseContext implements LoadManyContext {
+ private final BeanPropertyAssocMany> property;
private final boolean docStoreMapped;
-
private List bufferList;
-
private LoadBuffer currentBuffer;
DLoadManyContext(DLoadContext parent, BeanPropertyAssocMany> property, String path, OrmQueryProperties queryProps) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/logger/DLogManager.java b/ebean-core/src/main/java/io/ebeaninternal/server/logger/DLogManager.java
index 79ece19fc..31c42f2fd 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/logger/DLogManager.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/logger/DLogManager.java
@@ -3,7 +3,7 @@ package io.ebeaninternal.server.logger;
import io.ebeaninternal.api.SpiLogManager;
import io.ebeaninternal.api.SpiLogger;
-public class DLogManager implements SpiLogManager {
+public final class DLogManager implements SpiLogManager {
private final SpiLogger sql;
private final SpiLogger summary;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/logger/DLoggerFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/logger/DLoggerFactory.java
index 65dbef013..90f6cbafa 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/logger/DLoggerFactory.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/logger/DLoggerFactory.java
@@ -7,7 +7,7 @@ import org.slf4j.LoggerFactory;
/**
* Default SpiLoggerFactory implementation.
*/
-public class DLoggerFactory implements SpiLoggerFactory {
+public final class DLoggerFactory implements SpiLoggerFactory {
/**
* Just use a standard slf4j Logger.
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/logger/DSpiLogger.java b/ebean-core/src/main/java/io/ebeaninternal/server/logger/DSpiLogger.java
index 87b78052f..e921d5aa3 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/logger/DSpiLogger.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/logger/DSpiLogger.java
@@ -3,7 +3,7 @@ package io.ebeaninternal.server.logger;
import io.ebeaninternal.api.SpiLogger;
import org.slf4j.Logger;
-public class DSpiLogger implements SpiLogger {
+public final class DSpiLogger implements SpiLogger {
private final Logger logger;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DCountMetric.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DCountMetric.java
index d93e0dbdb..693aa5de8 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DCountMetric.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DCountMetric.java
@@ -9,10 +9,9 @@ import java.util.concurrent.atomic.LongAdder;
/**
* Used to collect counter metrics.
*/
-class DCountMetric implements CountMetric {
+final class DCountMetric implements CountMetric {
private final String name;
-
private final LongAdder count = new LongAdder();
DCountMetric(String name) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DMetricFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DMetricFactory.java
index 633c4c505..d51ff2198 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DMetricFactory.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DMetricFactory.java
@@ -10,7 +10,7 @@ import io.ebean.metric.TimedMetricMap;
/**
* Default metric factory implementation.
*/
-public class DMetricFactory implements MetricFactory {
+public final class DMetricFactory implements MetricFactory {
@Override
public TimedMetricMap createTimedMetricMap(String name) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DProfileLocation.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DProfileLocation.java
index 63fa0e11a..df4c44c56 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DProfileLocation.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DProfileLocation.java
@@ -13,7 +13,6 @@ class DProfileLocation implements ProfileLocation {
private String fullLocation;
private String location;
private String label;
-
private final int lineNumber;
private int traceCount;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DProfileLocationFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DProfileLocationFactory.java
index ebf5e78c0..cc6e19bd3 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DProfileLocationFactory.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DProfileLocationFactory.java
@@ -8,7 +8,7 @@ import io.ebean.service.SpiProfileLocationFactory;
/**
* Default implementation of the profile location factory.
*/
-public class DProfileLocationFactory implements SpiProfileLocationFactory {
+public final class DProfileLocationFactory implements SpiProfileLocationFactory {
@Override
public ProfileLocation create() {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DQueryPlanMeta.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DQueryPlanMeta.java
index 67f724051..879d2ee6c 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DQueryPlanMeta.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DQueryPlanMeta.java
@@ -3,7 +3,7 @@ package io.ebeaninternal.server.profile;
import io.ebean.ProfileLocation;
import io.ebeaninternal.server.util.Md5;
-class DQueryPlanMeta {
+final class DQueryPlanMeta {
private final Class> type;
private final String label;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DQueryPlanMetric.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DQueryPlanMetric.java
index e24da73c7..723c24511 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DQueryPlanMetric.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DQueryPlanMetric.java
@@ -6,7 +6,7 @@ import io.ebean.metric.QueryPlanMetric;
import io.ebean.metric.TimedMetric;
import io.ebean.metric.TimedMetricStats;
-class DQueryPlanMetric implements QueryPlanMetric {
+final class DQueryPlanMetric implements QueryPlanMetric {
private final DQueryPlanMeta meta;
private final DTimedMetric metric;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimeMetricStats.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimeMetricStats.java
index a4243e31a..900f47aae 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimeMetricStats.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimeMetricStats.java
@@ -5,13 +5,12 @@ import io.ebean.metric.TimedMetricStats;
/**
* Snapshot of the current statistics for a Counter or TimeCounter.
*/
-class DTimeMetricStats implements TimedMetricStats {
+final class DTimeMetricStats implements TimedMetricStats {
private final boolean collected;
private final long count;
private final long total;
private final long max;
-
private String name;
private String location;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimedMetric.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimedMetric.java
index cc344c3e6..a62fef911 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimedMetric.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimedMetric.java
@@ -12,16 +12,12 @@ import java.util.concurrent.atomic.LongAdder;
* It is intended for high concurrent updates to the statistics and relatively infrequent reads.
*
*/
-class DTimedMetric implements TimedMetric {
+final class DTimedMetric implements TimedMetric {
private final String name;
-
private final LongAdder count = new LongAdder();
-
private final LongAdder total = new LongAdder();
-
private final LongAccumulator max = new LongAccumulator(Math::max, Long.MIN_VALUE);
-
private boolean collected;
DTimedMetric(String name) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimedProfileLocation.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimedProfileLocation.java
index 27537737f..2164f86c7 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimedProfileLocation.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/DTimedProfileLocation.java
@@ -7,14 +7,11 @@ import io.ebean.metric.TimedMetricStats;
/**
* Default profile location that uses stack trace.
*/
-class DTimedProfileLocation extends DProfileLocation implements TimedProfileLocation {
+final class DTimedProfileLocation extends DProfileLocation implements TimedProfileLocation {
private final String label;
-
private final TimedMetric timedMetric;
-
private final boolean overrideMetricName;
-
private String fullName;
DTimedProfileLocation(int lineNumber, String label, TimedMetric timedMetric) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/profile/TimedProfileLocationRegistry.java b/ebean-core/src/main/java/io/ebeaninternal/server/profile/TimedProfileLocationRegistry.java
index 1a5f8ff07..350dd6688 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/profile/TimedProfileLocationRegistry.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/profile/TimedProfileLocationRegistry.java
@@ -7,7 +7,7 @@ import java.util.List;
/**
* Global registry of the TimedProfileLocation instances created.
*/
-public class TimedProfileLocationRegistry {
+public final class TimedProfileLocationRegistry {
private static final List list = Collections.synchronizedList(new ArrayList<>());
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/properties/BeanPropertiesReader.java b/ebean-core/src/main/java/io/ebeaninternal/server/properties/BeanPropertiesReader.java
index a283a42ea..ec56da19d 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/properties/BeanPropertiesReader.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/properties/BeanPropertiesReader.java
@@ -37,7 +37,6 @@ public final class BeanPropertiesReader {
try {
Field field = clazz.getField("_ebean_props");
return (String[]) field.get(null);
-
} catch (Exception e) {
throw new IllegalStateException("Error getting _ebean_props field on type " + clazz, e);
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/properties/EnhanceBeanPropertyAccess.java b/ebean-core/src/main/java/io/ebeaninternal/server/properties/EnhanceBeanPropertyAccess.java
index e4d9e9839..e7e48b6f0 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/properties/EnhanceBeanPropertyAccess.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/properties/EnhanceBeanPropertyAccess.java
@@ -9,23 +9,20 @@ public final class EnhanceBeanPropertyAccess implements BeanPropertyAccess {
private static final int CACHE_SIZE = 30;
- private final BeanPropertyGetter[] getters = initGetters(CACHE_SIZE);
- private final BeanPropertySetter[] setters = initSetters(CACHE_SIZE);
+ private final BeanPropertyGetter[] getters = initGetters();
+ private final BeanPropertySetter[] setters = initSetters();
- public EnhanceBeanPropertyAccess() {
- }
-
- private BeanPropertyGetter[] initGetters(int count) {
- BeanPropertyGetter[] getters = new BeanPropertyGetter[count];
- for (int i = 0; i < count; i++) {
+ private BeanPropertyGetter[] initGetters() {
+ BeanPropertyGetter[] getters = new BeanPropertyGetter[CACHE_SIZE];
+ for (int i = 0; i < CACHE_SIZE; i++) {
getters[i] = new Getter(i);
}
return getters;
}
- private BeanPropertySetter[] initSetters(int count) {
- BeanPropertySetter[] setters = new BeanPropertySetter[count];
- for (int i = 0; i < count; i++) {
+ private BeanPropertySetter[] initSetters() {
+ BeanPropertySetter[] setters = new BeanPropertySetter[CACHE_SIZE];
+ for (int i = 0; i < CACHE_SIZE; i++) {
setters[i] = new Setter(i);
}
return setters;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSql.java b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSql.java
index 9f7e6627d..c58b8bc11 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSql.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSql.java
@@ -8,9 +8,7 @@ import java.sql.ResultSet;
public final class DRawSql implements SpiRawSql {
private final ResultSet resultSet;
-
private final Sql sql;
-
private final ColumnMapping columnMapping;
/**
@@ -22,7 +20,7 @@ public final class DRawSql implements SpiRawSql {
this.columnMapping = new ColumnMapping(propertyNames);
}
- protected DRawSql(ResultSet resultSet, Sql sql, ColumnMapping columnMapping) {
+ DRawSql(ResultSet resultSet, Sql sql, ColumnMapping columnMapping) {
this.resultSet = resultSet;
this.sql = sql;
this.columnMapping = columnMapping;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlBuilder.java b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlBuilder.java
index 40160e873..a42c8035d 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlBuilder.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlBuilder.java
@@ -5,12 +5,10 @@ import io.ebean.RawSqlBuilder;
import java.sql.ResultSet;
-public class DRawSqlBuilder implements RawSqlBuilder {
+public final class DRawSqlBuilder implements RawSqlBuilder {
private final ResultSet resultSet;
-
private final SpiRawSql.Sql sql;
-
private final SpiRawSql.ColumnMapping columnMapping;
DRawSqlBuilder(SpiRawSql.Sql sql, SpiRawSql.ColumnMapping columnMapping) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlColumnsParser.java b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlColumnsParser.java
index 74c02badd..48e61789b 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlColumnsParser.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlColumnsParser.java
@@ -17,7 +17,6 @@ final class DRawSqlColumnsParser {
private static final Pattern COLINFO_SPLIT = Pattern.compile("\\s(?=[^\\)]*(?:\\(|$))");
private final String sqlSelect;
-
private int indexPos;
public static ColumnMapping parse(String sqlSelect) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlParser.java b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlParser.java
index 0e46cbe10..033aa0755 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlParser.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlParser.java
@@ -7,20 +7,15 @@ import io.ebeaninternal.server.rawsql.SpiRawSql.Sql;
* Parses sql-select queries to try and determine the location where WHERE and
* HAVING clauses can be added dynamically to the sql.
*/
-class DRawSqlParser {
+final class DRawSqlParser {
private static final String $_AND_HAVING = "${andHaving}";
-
private static final String $_HAVING = "${having}";
-
private static final String $_AND_WHERE = "${andWhere}";
-
private static final String $_WHERE = "${where}";
private final SimpleTextParser textParser;
-
private String sql;
-
private int placeHolderWhere;
private int placeHolderAndWhere;
private int placeHolderHaving;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlService.java b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlService.java
index 5a405dbc4..11b80da38 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlService.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlService.java
@@ -11,7 +11,7 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Types;
-public class DRawSqlService implements SpiRawSqlService {
+final class DRawSqlService implements SpiRawSqlService {
@Override
public RawSql resultSet(ResultSet resultSet, String... propertyNames) {
@@ -20,10 +20,8 @@ public class DRawSqlService implements SpiRawSqlService {
@Override
public RawSqlBuilder parsed(String sql) {
-
SpiRawSql.Sql sql2 = DRawSqlParser.parse(sql);
String select = sql2.getPreFrom();
-
SpiRawSql.ColumnMapping mapping = DRawSqlColumnsParser.parse(select);
return new DRawSqlBuilder(sql2, mapping);
}
@@ -36,7 +34,6 @@ public class DRawSqlService implements SpiRawSqlService {
@Override
public SqlRow sqlRow(ResultSet resultSet, String dbTrueValue, boolean binaryOptimizedUUID) throws SQLException {
-
ResultSetMetaData meta = resultSet.getMetaData();
int estCap = (int) (meta.getColumnCount() / 0.7f) + 1;
DefaultSqlRow ret = new DefaultSqlRow(estCap, 0.75f, dbTrueValue, binaryOptimizedUUID);
@@ -77,7 +74,6 @@ public class DRawSqlService implements SpiRawSqlService {
* Combine schema table and column names allowing for null schema and table.
*/
String combine(String schemaName, String tableName, String name) {
-
StringBuilder sb = new StringBuilder();
if (schemaName != null) {
sb.append(schemaName).append(".");
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonBeanReader.java b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonBeanReader.java
index ecfa3af8c..8193d397c 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonBeanReader.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonBeanReader.java
@@ -15,10 +15,9 @@ import java.io.IOException;
* This is used such that a load context and persistence context can be used to span multiple marshalling requests.
*
*/
-public class DJsonBeanReader implements JsonBeanReader {
+public final class DJsonBeanReader implements JsonBeanReader {
private final BeanDescriptor desc;
-
private final SpiJsonReader readJson;
public DJsonBeanReader(BeanDescriptor desc, SpiJsonReader readJson) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonContext.java b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonContext.java
index 6a94bd31d..b0706173c 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonContext.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonContext.java
@@ -43,18 +43,14 @@ import java.util.Set;
/**
* Default implementation of JsonContext.
*/
-public class DJsonContext implements SpiJsonContext {
+public final class DJsonContext implements SpiJsonContext {
private static final PrettyPrinter PRETTY_PRINTER = new Pretty();
private final SpiEbeanServer server;
-
private final JsonFactory jsonFactory;
-
private final Object defaultObjectMapper;
-
private final JsonConfig.Include defaultInclude;
-
private final DJsonScalar jsonScalar;
private static class Pretty extends DefaultPrettyPrinter {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonScalar.java b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonScalar.java
index fed4c5945..d0ef82204 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonScalar.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/DJsonScalar.java
@@ -10,7 +10,7 @@ import java.util.List;
/**
* Default implementation of JsonScalar.
*/
-public class DJsonScalar {
+public final class DJsonScalar {
private final TypeManager typeManager;
@@ -20,7 +20,6 @@ public class DJsonScalar {
@SuppressWarnings({ "unchecked", "rawtypes" })
public void write(JsonGenerator gen, Object value) throws IOException {
-
if (value instanceof String) {
gen.writeString((String) value);
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/PathStack.java b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/PathStack.java
index 7da49f6ad..6cb3b2b67 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/PathStack.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/PathStack.java
@@ -2,10 +2,9 @@ package io.ebeaninternal.server.text.json;
import io.ebeaninternal.server.util.ArrayStack;
-public class PathStack extends ArrayStack {
+public final class PathStack extends ArrayStack {
public String peekFullPath(String key) {
-
String prefix = peekWithNull();
if (prefix != null) {
return prefix + "." + key;
@@ -15,7 +14,6 @@ public class PathStack extends ArrayStack {
}
public void pushPathKey(String key) {
-
String prefix = peekWithNull();
if (prefix != null) {
key = prefix + "." + key;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/ReadJson.java b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/ReadJson.java
index 74c85a770..f685188b6 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/ReadJson.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/ReadJson.java
@@ -20,42 +20,28 @@ import java.util.Map;
/**
* Context for JSON read processing.
*/
-public class ReadJson implements SpiJsonReader {
+public final class ReadJson implements SpiJsonReader {
private final BeanDescriptor> rootDesc;
-
- /**
- * Jackson parser.
- */
private final JsonParser parser;
-
- /**
- * Stack of the path - used to find the appropriate JsonReadBeanVisitor.
- */
private final PathStack pathStack;
-
/**
* Map of the JsonReadBeanVisitor keyed by path.
*/
private final Map> visitorMap;
-
private final Object objectMapper;
-
private final PersistenceContext persistenceContext;
-
private final LoadContext loadContext;
/**
* Construct with parser and readOptions.
*/
public ReadJson(BeanDescriptor> desc, JsonParser parser, JsonReadOptions readOptions, Object objectMapper) {
-
this.rootDesc = desc;
this.parser = parser;
this.objectMapper = objectMapper;
this.persistenceContext = initPersistenceContext(readOptions);
this.loadContext = initLoadContext(desc, readOptions);
-
// only create visitorMap, pathStack if needed ...
this.visitorMap = (readOptions == null) ? null : readOptions.getVisitorMap();
this.pathStack = (visitorMap == null && loadContext == null) ? null : new PathStack();
@@ -119,7 +105,6 @@ public class ReadJson implements SpiJsonReader {
*/
@Override
public void persistenceContextPut(Object beanId, T currentBean) {
-
persistenceContextPutIfAbsent(beanId, (EntityBean) currentBean, rootDesc);
}
@@ -129,16 +114,13 @@ public class ReadJson implements SpiJsonReader {
*/
@Override
public Object persistenceContextPutIfAbsent(Object id, EntityBean bean, BeanDescriptor> beanDesc) {
-
if (persistenceContext == null) {
// no persistenceContext means no lazy loading either
return null;
}
-
Object existing = beanDesc.contextPutIfAbsent(persistenceContext, id, bean);
if (existing != null) {
beanDesc.merge(bean, (EntityBean) existing);
-
} else {
if (loadContext != null) {
EntityBeanIntercept ebi = bean._ebean_getIntercept();
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/WriteJson.java b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/WriteJson.java
index d7914f587..4ae521e16 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/text/json/WriteJson.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/text/json/WriteJson.java
@@ -21,22 +21,15 @@ import java.util.Collection;
import java.util.Map;
import java.util.Set;
-public class WriteJson implements SpiJsonWriter {
+public final class WriteJson implements SpiJsonWriter {
private final SpiEbeanServer server;
-
private final JsonGenerator generator;
-
private final FetchPath fetchPath;
-
private final Map> visitors;
-
private final PathStack pathStack;
-
private final ArrayStack