From d096706685d77964b5300de2f14c2d656fa6cac5 Mon Sep 17 00:00:00 2001 From: rbygrave Date: Tue, 17 Aug 2021 21:03:53 +1200 Subject: [PATCH] #2318 - Refactor internals - final classes in internal api package --- .../java/io/ebeaninternal/api/BeanCacheResult.java | 4 ++-- .../io/ebeaninternal/api/BinaryReadContext.java | 2 +- .../io/ebeaninternal/api/BinaryWriteContext.java | 3 +-- .../main/java/io/ebeaninternal/api/BindParams.java | 9 +-------- .../java/io/ebeaninternal/api/BindValuesKey.java | 2 +- .../io/ebeaninternal/api/CacheIdLookupMany.java | 3 +-- .../io/ebeaninternal/api/CacheIdLookupSingle.java | 2 +- .../main/java/io/ebeaninternal/api/DbOffline.java | 2 +- .../java/io/ebeaninternal/api/ExtraMetrics.java | 2 +- .../main/java/io/ebeaninternal/api/HashQuery.java | 2 +- .../java/io/ebeaninternal/api/HelpScopeTrans.java | 2 +- .../java/io/ebeaninternal/api/LoadBeanRequest.java | 6 +----- .../java/io/ebeaninternal/api/LoadManyRequest.java | 5 +---- .../java/io/ebeaninternal/api/ManyWhereJoins.java | 5 +---- .../src/main/java/io/ebeaninternal/api/Monitor.java | 12 ------------ .../io/ebeaninternal/api/NaturalKeyEntryBasic.java | 2 +- .../io/ebeaninternal/api/NaturalKeyEntrySimple.java | 2 +- .../java/io/ebeaninternal/api/NaturalKeyEq.java | 2 +- .../io/ebeaninternal/api/NaturalKeyQueryData.java | 8 +------- .../java/io/ebeaninternal/api/NaturalKeySet.java | 3 +-- .../io/ebeaninternal/api/NoopQueryBindCapture.java | 2 +- .../io/ebeaninternal/api/NoopQueryPlanManager.java | 2 +- .../java/io/ebeaninternal/api/PlatformMatch.java | 3 +-- .../java/io/ebeaninternal/api/PropertyJoin.java | 9 +-------- .../main/java/io/ebeaninternal/api/ScopeTrans.java | 13 +------------ .../io/ebeaninternal/api/ScopedTransaction.java | 4 +--- .../ebeaninternal/api/SpiExpressionValidation.java | 3 +-- .../java/io/ebeaninternal/api/TransactionEvent.java | 8 +------- .../io/ebeaninternal/api/TransactionEventTable.java | 7 +------ .../java/io/ebeaninternal/json/DJsonService.java | 2 +- .../java/io/ebeaninternal/json/EJsonReader.java | 2 +- .../java/io/ebeaninternal/json/EJsonWriter.java | 2 +- .../java/io/ebeaninternal/json/ModifyAwareFlag.java | 2 +- .../io/ebeaninternal/json/ModifyAwareIterator.java | 3 +-- .../java/io/ebeaninternal/json/ModifyAwareList.java | 3 +-- .../ebeaninternal/json/ModifyAwareListIterator.java | 3 +-- .../java/io/ebeaninternal/json/ModifyAwareMap.java | 6 +----- .../java/io/ebeaninternal/json/ModifyAwareSet.java | 7 +++---- .../server/autotune/NoAutoTuneService.java | 2 +- 39 files changed, 41 insertions(+), 120 deletions(-) delete mode 100644 ebean-core/src/main/java/io/ebeaninternal/api/Monitor.java diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/BeanCacheResult.java b/ebean-core/src/main/java/io/ebeaninternal/api/BeanCacheResult.java index c3b70e2e1..11e6d5f15 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/BeanCacheResult.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/BeanCacheResult.java @@ -6,7 +6,7 @@ import java.util.List; /** * The results of bean cache hit. */ -public class BeanCacheResult { +public final class BeanCacheResult { private final List> list = new ArrayList<>(); @@ -27,7 +27,7 @@ public class BeanCacheResult { /** * Bean and cache key pair. */ - static class Entry { + static final class Entry { private final T bean; private final Object key; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/BinaryReadContext.java b/ebean-core/src/main/java/io/ebeaninternal/api/BinaryReadContext.java index 105a9b81b..bde5c8167 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/BinaryReadContext.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/BinaryReadContext.java @@ -7,7 +7,7 @@ import java.io.IOException; /** * Context used to read binary format messages. */ -public class BinaryReadContext { +public final class BinaryReadContext { private final DataInputStream in; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/BinaryWriteContext.java b/ebean-core/src/main/java/io/ebeaninternal/api/BinaryWriteContext.java index c36bfebc8..610ad41ea 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/BinaryWriteContext.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/BinaryWriteContext.java @@ -6,10 +6,9 @@ import java.io.IOException; /** * Context used to write binary message (like RemoteTransactionEvent). */ -public class BinaryWriteContext { +public final class BinaryWriteContext { private final DataOutputStream out; - private long counter; public BinaryWriteContext(DataOutputStream out) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/BindParams.java b/ebean-core/src/main/java/io/ebeaninternal/api/BindParams.java index 64a0a0287..7c5264892 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/BindParams.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/BindParams.java @@ -13,35 +13,28 @@ import java.util.Map.Entry; * Supports ordered or named parameters. *

*/ -public class BindParams implements Serializable { +public final class BindParams implements Serializable { private static final long serialVersionUID = 4541081933302086285L; private final List positionedParameters = new ArrayList<>(); - private final Map namedParameters = new LinkedHashMap<>(); - /** * This is the sql. For named parameters this is the sql after the named * parameters have been replaced with question mark place holders and the * parameters have been ordered by addNamedParamInOrder(). */ private String preparedSql; - /** * Bind hash and count used to detect when the bind values have changed such * that the generated SQL (with named parameters) needs to be recalculated. */ private String bindHash; - /** * Helper to add positioned parameters in order. */ private int addPos; - public BindParams() { - } - /** * Reset positioned parameters (usually due to bind parameter expansion). */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/BindValuesKey.java b/ebean-core/src/main/java/io/ebeaninternal/api/BindValuesKey.java index 4a6eac324..062932af2 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/BindValuesKey.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/BindValuesKey.java @@ -9,7 +9,7 @@ import java.util.List; * The equals/hashCode implementation must meet the requirement that the query bind values * match for L2 query cache hit (given the query plan hash is already a match). */ -public class BindValuesKey { +public final class BindValuesKey { private final List values = new ArrayList<>(); diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/CacheIdLookupMany.java b/ebean-core/src/main/java/io/ebeaninternal/api/CacheIdLookupMany.java index bfe9d5b84..2c896e2fb 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/CacheIdLookupMany.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/CacheIdLookupMany.java @@ -11,10 +11,9 @@ import java.util.Set; /** * Used for bean cache lookup with where ids in expression. */ -public class CacheIdLookupMany implements CacheIdLookup { +public final class CacheIdLookupMany implements CacheIdLookup { private final IdInExpression idInExpression; - private int remaining; public CacheIdLookupMany(IdInExpression idInExpression) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/CacheIdLookupSingle.java b/ebean-core/src/main/java/io/ebeaninternal/api/CacheIdLookupSingle.java index 47ee89c4b..bfc55b5c1 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/CacheIdLookupSingle.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/CacheIdLookupSingle.java @@ -7,7 +7,7 @@ import java.util.List; /** * Used for bean cache lookup with a single id value. */ -public class CacheIdLookupSingle implements CacheIdLookup { +public final class CacheIdLookupSingle implements CacheIdLookup { private final Object idValue; private boolean found; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/DbOffline.java b/ebean-core/src/main/java/io/ebeaninternal/api/DbOffline.java index 9e184ad61..0d3c72db7 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/DbOffline.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/DbOffline.java @@ -6,7 +6,7 @@ import io.ebean.annotation.Platform; * Helper to indicate that an EbeanServer should come up offline * typically for DDL generation purposes. */ -public class DbOffline { +public final class DbOffline { private static final String KEY = "ebean.dboffline"; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/ExtraMetrics.java b/ebean-core/src/main/java/io/ebeaninternal/api/ExtraMetrics.java index 5d6f79527..57280b9f3 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/ExtraMetrics.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/ExtraMetrics.java @@ -8,7 +8,7 @@ import io.ebean.metric.TimedMetric; /** * Extra metrics collected to measure internal behaviour. */ -public class ExtraMetrics { +public final class ExtraMetrics { private final TimedMetric bindCapture; private final TimedMetric planCollect; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/HashQuery.java b/ebean-core/src/main/java/io/ebeaninternal/api/HashQuery.java index faddb7bee..a207f3c57 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/HashQuery.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/HashQuery.java @@ -3,7 +3,7 @@ package io.ebeaninternal.api; /** * A hash key for a query including both the query plan and bind values. */ -public class HashQuery { +public final class HashQuery { private final CQueryPlanKey planHash; private final BindValuesKey bindValuesKey; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/HelpScopeTrans.java b/ebean-core/src/main/java/io/ebeaninternal/api/HelpScopeTrans.java index cb7643c65..7356fbc01 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/HelpScopeTrans.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/HelpScopeTrans.java @@ -6,7 +6,7 @@ import io.ebean.TxScope; /** * Helper object to make AOP generated code simpler. */ -public class HelpScopeTrans { +public final class HelpScopeTrans { private static boolean enabled = true; /** diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanRequest.java b/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanRequest.java index 9d72463a5..a763182b2 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanRequest.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanRequest.java @@ -13,16 +13,12 @@ import java.util.Set; /** * Request for loading ManyToOne and OneToOne relationships. */ -public class LoadBeanRequest extends LoadRequest { +public final class LoadBeanRequest extends LoadRequest { private final List batch; - private final LoadBeanBuffer loadBuffer; - private final String lazyLoadProperty; - private final boolean loadCache; - private boolean loadedFromCache; /** diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/LoadManyRequest.java b/ebean-core/src/main/java/io/ebeaninternal/api/LoadManyRequest.java index 0343b8579..cd49558d6 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/LoadManyRequest.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/LoadManyRequest.java @@ -15,16 +15,13 @@ import java.util.List; /** * Request for loading Associated Many Beans. */ -public class LoadManyRequest extends LoadRequest { +public final class LoadManyRequest extends LoadRequest { private static final Logger logger = LoggerFactory.getLogger(LoadManyRequest.class); private final List> batch; - private final LoadManyBuffer loadContext; - private final boolean onlyIds; - private final boolean loadCache; /** diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/ManyWhereJoins.java b/ebean-core/src/main/java/io/ebeaninternal/api/ManyWhereJoins.java index 0c6b128a2..91fc49d21 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/ManyWhereJoins.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/ManyWhereJoins.java @@ -17,16 +17,13 @@ import java.util.TreeSet; * Holds the joins needs to support the many where predicates. * These joins are independent of any 'fetch' joins on the many. */ -public class ManyWhereJoins implements Serializable { +public final class ManyWhereJoins implements Serializable { private static final long serialVersionUID = -6490181101871795417L; private final TreeMap joins = new TreeMap<>(); - private List formulaJoinProperties; - private boolean aggregation; - /** * 'Mode' indicating that joins added while this is true are required to be outer joins. */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/Monitor.java b/ebean-core/src/main/java/io/ebeaninternal/api/Monitor.java deleted file mode 100644 index e1b930769..000000000 --- a/ebean-core/src/main/java/io/ebeaninternal/api/Monitor.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.ebeaninternal.api; - -import java.io.Serializable; - -/** - * Object used as a synchronization monitor that is serializable. - */ -public class Monitor implements Serializable { - - private static final long serialVersionUID = -2741687226680981940L; - -} diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntryBasic.java b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntryBasic.java index aff59771b..61514bc66 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntryBasic.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntryBasic.java @@ -11,7 +11,7 @@ import java.util.Map; /** * Natural key entry with name value pairs for each of the properties making up the key. */ -class NaturalKeyEntryBasic implements NaturalKeyEntry { +final class NaturalKeyEntryBasic implements NaturalKeyEntry { private final Map map = new HashMap<>(); private final String key; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntrySimple.java b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntrySimple.java index 0fa7bef62..0ad6e9343 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntrySimple.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntrySimple.java @@ -1,6 +1,6 @@ package io.ebeaninternal.api; -class NaturalKeyEntrySimple implements NaturalKeyEntry { +final class NaturalKeyEntrySimple implements NaturalKeyEntry { private final String key; private final Object val; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEq.java b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEq.java index e7a6218df..3933c2f4b 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEq.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEq.java @@ -3,7 +3,7 @@ package io.ebeaninternal.api; /** * A property value pair in a natural key lookup. */ -public class NaturalKeyEq { +public final class NaturalKeyEq { final String property; final Object value; diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyQueryData.java b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyQueryData.java index 6966787d5..a8b4d348d 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyQueryData.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyQueryData.java @@ -11,28 +11,22 @@ import java.util.Set; /** * Collects the data for processing the natural key cache processing. */ -public class NaturalKeyQueryData { +public final class NaturalKeyQueryData { private final BeanNaturalKey naturalKey; - /** * Only one of IN or IN PAIRS is allowed. */ private boolean hasIn; - // IN Pairs clause - only one allowed private String inProperty0, inProperty1; private List inPairs; - // IN clause - only one allowed private List inValues; private String inProperty; - // normal EQ expressions private List eqList; - private NaturalKeySet set; - private int hitCount; public NaturalKeyQueryData(BeanNaturalKey naturalKey) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeySet.java b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeySet.java index cf31afbf9..89b5ae484 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeySet.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeySet.java @@ -4,8 +4,7 @@ import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; -public class NaturalKeySet { - +public final class NaturalKeySet { private final Map map = new LinkedHashMap<>(); diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/NoopQueryBindCapture.java b/ebean-core/src/main/java/io/ebeaninternal/api/NoopQueryBindCapture.java index 2f7162c70..33ee06b54 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/NoopQueryBindCapture.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/NoopQueryBindCapture.java @@ -2,7 +2,7 @@ package io.ebeaninternal.api; import io.ebeaninternal.server.type.bindcapture.BindCapture; -class NoopQueryBindCapture implements SpiQueryBindCapture { +final class NoopQueryBindCapture implements SpiQueryBindCapture { @Override public boolean collectFor(long timeMicros) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/NoopQueryPlanManager.java b/ebean-core/src/main/java/io/ebeaninternal/api/NoopQueryPlanManager.java index 813121f92..9c6a54952 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/NoopQueryPlanManager.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/NoopQueryPlanManager.java @@ -6,7 +6,7 @@ import io.ebean.meta.QueryPlanRequest; import java.util.Collections; import java.util.List; -class NoopQueryPlanManager implements QueryPlanManager { +final class NoopQueryPlanManager implements QueryPlanManager { @Override public void setDefaultThreshold(long thresholdMicros) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/PlatformMatch.java b/ebean-core/src/main/java/io/ebeaninternal/api/PlatformMatch.java index a333008e9..eeb51221e 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/PlatformMatch.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/PlatformMatch.java @@ -3,7 +3,7 @@ package io.ebeaninternal.api; import io.ebean.annotation.Platform; import io.ebean.util.StringHelper; -public class PlatformMatch { +public final class PlatformMatch { /** * Return true if the script platforms is a match/supported for the given platform. @@ -15,7 +15,6 @@ public class PlatformMatch { if (platforms == null || platforms.trim().isEmpty()) { return true; } - // match on base platform name and platform name for (String name : StringHelper.splitNames(platforms)) { if (name.equalsIgnoreCase(platform.base().name()) || name.equalsIgnoreCase(platform.name())) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/PropertyJoin.java b/ebean-core/src/main/java/io/ebeaninternal/api/PropertyJoin.java index 2b11732b0..ab63e09d4 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/PropertyJoin.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/PropertyJoin.java @@ -5,16 +5,9 @@ import io.ebeaninternal.server.query.SqlJoinType; /** * Represents a join required for a given property and whether than needs to be an outer join. */ -public class PropertyJoin { +public final class PropertyJoin { - /** - * The property name. - */ private final String property; - - /** - * Set to true if the property needs to be an outer join. - */ private final SqlJoinType joinType; public PropertyJoin(String property, SqlJoinType joinType) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/ScopeTrans.java b/ebean-core/src/main/java/io/ebeaninternal/api/ScopeTrans.java index 631b6dfb8..f3ca6555f 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/ScopeTrans.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/ScopeTrans.java @@ -7,7 +7,7 @@ import java.util.ArrayList; /** * Used internally to handle the scoping of transactions for methods. */ -public class ScopeTrans { +public final class ScopeTrans { private static final int OPCODE_ATHROW = 191; @@ -15,43 +15,32 @@ public class ScopeTrans { * The transaction in scope (can be null). */ private final SpiTransaction transaction; - /** * If true by default rollback on Checked exceptions. */ private final boolean rollbackOnChecked; - /** * True if the transaction was created and hence should be committed * on finally if it hasn't already been rolled back. */ private final boolean created; - /** * Explicit set of Exceptions that DO NOT cause a rollback to occur. */ private final ArrayList> noRollbackFor; - /** * Explicit set of Exceptions that DO cause a rollback to occur. */ private final ArrayList> rollbackFor; - private Boolean restoreBatch; - private Boolean restoreBatchOnCascade; - private int restoreBatchSize; - private Boolean restoreBatchGeneratedKeys; - private boolean restoreBatchFlushOnQuery; - /** * Flag set when a rollback has occurred. */ private boolean rolledBack; - /** * Flag set when nested commit has occurred. */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/ScopedTransaction.java b/ebean-core/src/main/java/io/ebeaninternal/api/ScopedTransaction.java index f5a1db07b..383746f13 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/ScopedTransaction.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/ScopedTransaction.java @@ -10,15 +10,13 @@ import javax.persistence.PersistenceException; * * These can be nested and internally they are pushed and popped from a stack. */ -public class ScopedTransaction extends SpiTransactionProxy { +public final class ScopedTransaction extends SpiTransactionProxy { private final TransactionScopeManager manager; - /** * Stack of 'nested' transactions. */ private final ArrayStack stack = new ArrayStack<>(); - private ScopeTrans current; /** diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/SpiExpressionValidation.java b/ebean-core/src/main/java/io/ebeaninternal/api/SpiExpressionValidation.java index e02397a75..203827820 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/SpiExpressionValidation.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/SpiExpressionValidation.java @@ -8,10 +8,9 @@ import java.util.Set; /** * Property expression validation request for a given root bean type. */ -public class SpiExpressionValidation { +public final class SpiExpressionValidation { private final BeanType desc; - private final LinkedHashSet unknown = new LinkedHashSet<>(); public SpiExpressionValidation(BeanType desc) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/TransactionEvent.java b/ebean-core/src/main/java/io/ebeaninternal/api/TransactionEvent.java index 52d87d23e..22a5ba904 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/TransactionEvent.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/TransactionEvent.java @@ -20,7 +20,7 @@ import java.util.List; * to the TransactionEventManager. *

*/ -public class TransactionEvent implements Serializable { +public final class TransactionEvent implements Serializable { private static final long serialVersionUID = 7230903304106097120L; @@ -29,13 +29,9 @@ public class TransactionEvent implements Serializable { * the cluster). */ private final transient boolean local; - private TransactionEventTable eventTables; - private transient List> listenerNotify; - private transient DeleteByIdMap deleteByIdMap; - private transient CacheChangeSet changeSet; /** @@ -110,11 +106,9 @@ public class TransactionEvent implements Serializable { * Build and return the cache changeSet. */ public CacheChangeSet buildCacheChanges(TransactionManager manager) { - if (changeSet == null && deleteByIdMap == null && eventTables == null) { return null; } - if (changeSet == null) { changeSet = new CacheChangeSet(); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/TransactionEventTable.java b/ebean-core/src/main/java/io/ebeaninternal/api/TransactionEventTable.java index 18ea4f5a3..de55cd163 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/TransactionEventTable.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/TransactionEventTable.java @@ -28,20 +28,17 @@ public final class TransactionEventTable implements Serializable, BinaryWritable } public void add(TransactionEventTable table) { - for (TableIUD iud : table.values()) { add(iud); } } public void add(String table, boolean insert, boolean update, boolean delete) { - table = table.toUpperCase(); add(new TableIUD(table, insert, update, delete)); } public void add(TableIUD newTableIUD) { - TableIUD existingTableIUD = map.put(newTableIUD.getTableName(), newTableIUD); if (existingTableIUD != null) { newTableIUD.add(existingTableIUD); @@ -56,7 +53,7 @@ public final class TransactionEventTable implements Serializable, BinaryWritable return map.values(); } - public static class TableIUD implements Serializable, BulkTableEvent, BinaryWritable { + public static final class TableIUD implements Serializable, BulkTableEvent, BinaryWritable { private static final long serialVersionUID = -1958317571064162089L; @@ -73,12 +70,10 @@ public final class TransactionEventTable implements Serializable, BinaryWritable } public static TableIUD readBinaryMessage(BinaryReadContext dataInput) throws IOException { - String table = dataInput.readUTF(); boolean insert = dataInput.readBoolean(); boolean update = dataInput.readBoolean(); boolean delete = dataInput.readBoolean(); - return new TableIUD(table, insert, update, delete); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/DJsonService.java b/ebean-core/src/main/java/io/ebeaninternal/json/DJsonService.java index d98aa6d7c..aa3443ced 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/DJsonService.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/DJsonService.java @@ -17,7 +17,7 @@ import java.util.Set; /** * Utility that converts between JSON content and simple java Maps/Lists. */ -public class DJsonService implements SpiJsonService { +public final class DJsonService implements SpiJsonService { /** * Write the nested Map/List as json. diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/EJsonReader.java b/ebean-core/src/main/java/io/ebeaninternal/json/EJsonReader.java index fa3451f8e..938f7f5a9 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/EJsonReader.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/EJsonReader.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Map; import java.util.NoSuchElementException; -class EJsonReader { +final class EJsonReader { static final JsonFactory json = new JsonFactory(); diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/EJsonWriter.java b/ebean-core/src/main/java/io/ebeaninternal/json/EJsonWriter.java index 1c110c077..2a05f306d 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/EJsonWriter.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/EJsonWriter.java @@ -14,7 +14,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -class EJsonWriter { +final class EJsonWriter { /** * Base jsonFactory implementation used when it is not passed in. diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareFlag.java b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareFlag.java index 911675605..08cdb273e 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareFlag.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareFlag.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** * Detects when content has been modified and as such needs to be persisted (included in an update). */ -public class ModifyAwareFlag implements ModifyAwareType, Serializable { +public final class ModifyAwareFlag implements ModifyAwareType, Serializable { private static final long serialVersionUID = 1; diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareIterator.java b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareIterator.java index 7e21e297f..fb57f3447 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareIterator.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareIterator.java @@ -7,10 +7,9 @@ import java.util.Iterator; /** * Wraps an iterator for the purposes of detecting modifications. */ -public class ModifyAwareIterator implements Iterator { +public final class ModifyAwareIterator implements Iterator { private final ModifyAwareType owner; - private final Iterator it; /** diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareList.java b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareList.java index 7803871df..4743cf27b 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareList.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareList.java @@ -13,12 +13,11 @@ import java.util.Objects; /** * Modify aware wrapper of a list. */ -public class ModifyAwareList implements List, ModifyAwareType, Serializable { +public final class ModifyAwareList implements List, ModifyAwareType, Serializable { private static final long serialVersionUID = 1; final List list; - final ModifyAwareType owner; public ModifyAwareList(List list) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareListIterator.java b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareListIterator.java index 5f6d5f013..974e88700 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareListIterator.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareListIterator.java @@ -7,10 +7,9 @@ import java.util.ListIterator; /** * Modify aware wrapper of a ListIterator. */ -public class ModifyAwareListIterator implements ListIterator { +public final class ModifyAwareListIterator implements ListIterator { final ModifyAwareType owner; - final ListIterator iterator; public ModifyAwareListIterator(ModifyAwareType owner, ListIterator iterator) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareMap.java b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareMap.java index 9d5e1fffe..2b2610a2e 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareMap.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareMap.java @@ -12,15 +12,11 @@ import java.util.Set; /** * Map that is wraps an underlying map for the purpose of detecting changes. */ -public class ModifyAwareMap implements Map, ModifyAwareType, Serializable { +public final class ModifyAwareMap implements Map, ModifyAwareType, Serializable { private static final long serialVersionUID = 1; final ModifyAwareType owner; - - /** - * The underlying map. - */ final Map map; public ModifyAwareMap(Map underlying) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareSet.java b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareSet.java index f20b39602..06353dd98 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareSet.java +++ b/ebean-core/src/main/java/io/ebeaninternal/json/ModifyAwareSet.java @@ -11,13 +11,12 @@ import java.util.Set; /** * Wraps a Set for the purposes of detecting modifications. */ -public class ModifyAwareSet implements Set, ModifyAwareType, Serializable { +public final class ModifyAwareSet implements Set, ModifyAwareType, Serializable { private static final long serialVersionUID = 1; - protected final ModifyAwareType owner; - - protected final Set set; + private final ModifyAwareType owner; + private final Set set; /** * Create as top level with it's own ModifyAwareOwner instance wrapping the given Set. diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/autotune/NoAutoTuneService.java b/ebean-core/src/main/java/io/ebeaninternal/server/autotune/NoAutoTuneService.java index b826329bc..b849bbfb7 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/autotune/NoAutoTuneService.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/autotune/NoAutoTuneService.java @@ -5,7 +5,7 @@ import io.ebeaninternal.api.SpiQuery; /** * Noop service when AutoTuneService is not available. */ -public class NoAutoTuneService implements AutoTuneService { +public final class NoAutoTuneService implements AutoTuneService { @Override public void startup() {