Skip to content

Commit 757f08d

Browse files
committed
Replace CacheEntry constructor with factory method
1 parent fd9f2a9 commit 757f08d

File tree

7 files changed

+11
-12
lines changed

7 files changed

+11
-12
lines changed

src/NHibernate/Action/EntityInsertAction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public override void Execute()
8181

8282
if (IsCachePutEnabled(persister))
8383
{
84-
CacheEntry ce = new CacheEntry(state, persister, persister.HasUninitializedLazyProperties(instance), version, session, instance);
84+
CacheEntry ce = CacheEntry.Create(state, persister, persister.HasUninitializedLazyProperties(instance), version, session, instance);
8585
cacheEntry = persister.CacheEntryStructure.Structure(ce);
8686

8787
CacheKey ck = Session.GenerateCacheKey(id, persister.IdentifierType, persister.RootEntityName);

src/NHibernate/Action/EntityUpdateAction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public override void Execute()
114114
}
115115
else
116116
{
117-
CacheEntry ce = new CacheEntry(state, persister, persister.HasUninitializedLazyProperties(instance), nextVersion, Session, instance);
117+
CacheEntry ce = CacheEntry.Create(state, persister, persister.HasUninitializedLazyProperties(instance), nextVersion, Session, instance);
118118
cacheEntry = persister.CacheEntryStructure.Structure(ce);
119119

120120
bool put = persister.Cache.Update(ck, cacheEntry, nextVersion, previousVersion);

src/NHibernate/Async/Action/EntityInsertAction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public override async Task ExecuteAsync()
5353
ISessionFactoryImplementor factory = Session.Factory;
5454
if (IsCachePutEnabled(persister))
5555
{
56-
CacheEntry ce = new CacheEntry(state, persister, persister.HasUninitializedLazyProperties(instance), version, session, instance);
56+
CacheEntry ce = CacheEntry.Create(state, persister, persister.HasUninitializedLazyProperties(instance), version, session, instance);
5757
cacheEntry = persister.CacheEntryStructure.Structure(ce);
5858
CacheKey ck = Session.GenerateCacheKey(id, persister.IdentifierType, persister.RootEntityName);
5959
bool put = persister.Cache.Insert(ck, cacheEntry, version);

src/NHibernate/Async/Action/EntityUpdateAction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public override async Task ExecuteAsync()
8585
}
8686
else
8787
{
88-
CacheEntry ce = new CacheEntry(state, persister, persister.HasUninitializedLazyProperties(instance), nextVersion, Session, instance);
88+
CacheEntry ce = CacheEntry.Create(state, persister, persister.HasUninitializedLazyProperties(instance), nextVersion, Session, instance);
8989
cacheEntry = persister.CacheEntryStructure.Structure(ce);
9090
bool put = persister.Cache.Update(ck, cacheEntry, nextVersion, previousVersion);
9191
if (put && factory.Statistics.IsStatisticsEnabled)

src/NHibernate/Async/Engine/TwoPhaseLoad.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public static async Task InitializeEntityAsync(object entity, bool readOnly, ISe
7474
if (log.IsDebugEnabled)
7575
log.Debug("adding entity to second-level cache: " + MessageHelper.InfoString(persister, id, session.Factory));
7676
object version = Versioning.GetVersion(hydratedState, persister);
77-
CacheEntry entry = new CacheEntry(hydratedState, persister, entityEntry.LoadedWithLazyPropertiesUnfetched, version, session, entity);
77+
CacheEntry entry = CacheEntry.Create(hydratedState, persister, entityEntry.LoadedWithLazyPropertiesUnfetched, version, session, entity);
7878
CacheKey cacheKey = session.GenerateCacheKey(id, persister.IdentifierType, persister.RootEntityName);
7979
bool put = persister.Cache.Put(cacheKey, persister.CacheEntryStructure.Structure(entry), session.Timestamp, version, persister.IsVersioned ? persister.VersionType.Comparator : null, UseMinimalPuts(session, entityEntry));
8080
if (put && factory.Statistics.IsStatisticsEnabled)

src/NHibernate/Cache/Entry/CacheEntry.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@ public sealed partial class CacheEntry
1717
private readonly bool lazyPropertiesAreUnfetched;
1818
private readonly object version;
1919

20-
21-
public CacheEntry(object[] state, IEntityPersister persister, bool unfetched, object version, ISessionImplementor session, object owner)
20+
public static CacheEntry Create(object[] state, IEntityPersister persister, bool unfetched, object version, ISessionImplementor session, object owner)
2221
{
2322
//disassembled state gets put in a new array (we write to cache by value!)
24-
disassembledState = TypeHelper.Disassemble(state, persister.PropertyTypes, null, session, owner);
25-
subclass = persister.EntityName;
26-
lazyPropertiesAreUnfetched = unfetched || !persister.IsLazyPropertiesCacheable;
27-
this.version = version;
23+
var disassembledState = TypeHelper.Disassemble(state, persister.PropertyTypes, null, session, owner);
24+
var subclass = persister.EntityName;
25+
var lazyPropertiesAreUnfetched = unfetched || !persister.IsLazyPropertiesCacheable;
26+
return new CacheEntry(disassembledState, subclass, lazyPropertiesAreUnfetched, version);
2827
}
2928

3029
internal CacheEntry(object[] state, string subclass, bool unfetched, object version)

src/NHibernate/Engine/TwoPhaseLoad.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public static void InitializeEntity(object entity, bool readOnly, ISessionImplem
105105

106106
object version = Versioning.GetVersion(hydratedState, persister);
107107
CacheEntry entry =
108-
new CacheEntry(hydratedState, persister, entityEntry.LoadedWithLazyPropertiesUnfetched, version, session, entity);
108+
CacheEntry.Create(hydratedState, persister, entityEntry.LoadedWithLazyPropertiesUnfetched, version, session, entity);
109109
CacheKey cacheKey = session.GenerateCacheKey(id, persister.IdentifierType, persister.RootEntityName);
110110
bool put =
111111
persister.Cache.Put(cacheKey, persister.CacheEntryStructure.Structure(entry), session.Timestamp, version,

0 commit comments

Comments
 (0)