Skip to content

Commit e1ce4b6

Browse files
committed
Get rid of delegates
1 parent 0d613de commit e1ce4b6

File tree

1 file changed

+13
-29
lines changed

1 file changed

+13
-29
lines changed

src/NHibernate/Loader/DefaultEntityAliases.cs

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
namespace NHibernate.Loader
77
{
8+
// Based on https://raw.githubusercontent.com/hibernate/hibernate-orm/master/hibernate-core/src/main/java/org/hibernate/loader/DefaultEntityAliases.java
89
/// <summary>
910
/// EntityAliases which handles the logic of selecting user provided aliases (via return-property),
1011
/// before using the default aliases.
11-
/// Based on https://raw.githubusercontent.com/hibernate/hibernate-orm/master/hibernate-core/src/main/java/org/hibernate/loader/DefaultEntityAliases.java
1212
/// </summary>
1313
public class DefaultEntityAliases : IEntityAliases
1414
{
@@ -44,17 +44,18 @@ private string[] DetermineKeyAliases(ILoadable persister, string suffix)
4444
if (userProvidedAliases == null)
4545
return GetIdentifierAliases(persister, suffix);
4646

47-
return GetUserProvidedAliases(
48-
persister.IdentifierPropertyName,
49-
() => GetUserProvidedAliases(EntityPersister.EntityID, () => GetIdentifierAliases(persister, suffix)));
47+
return GetUserProvidedAliases(persister.IdentifierPropertyName)
48+
?? GetUserProvidedAliases(EntityPersister.EntityID)
49+
?? GetIdentifierAliases(persister, suffix);
5050
}
5151

5252
private string DetermineDiscriminatorAlias(ILoadable persister, string suffix)
5353
{
5454
if (userProvidedAliases == null)
5555
return GetDiscriminatorAlias(persister, suffix);
5656

57-
return GetUserProvidedAlias(AbstractEntityPersister.EntityClass, () => GetDiscriminatorAlias(persister, suffix));
57+
return GetUserProvidedAlias(AbstractEntityPersister.EntityClass)
58+
?? GetDiscriminatorAlias(persister, suffix);
5859
}
5960

6061
/// <summary>
@@ -80,37 +81,20 @@ protected virtual string[] GetPropertyAliases(ILoadable persister, int j)
8081
return persister.GetPropertyAliases(suffix, j);
8182
}
8283

83-
private string[] GetUserProvidedAliases(string propertyPath, Func<string[]> getDefaultAliases)
84+
private string[] GetUserProvidedAliases(string propertyPath)
8485
{
85-
string[] result = propertyPath == null ? null : GetUserProvidedAlias(propertyPath);
86-
if (result == null)
87-
{
88-
return getDefaultAliases();
89-
}
90-
else
91-
{
92-
return result;
93-
}
94-
}
86+
if (propertyPath == null)
87+
return null;
9588

96-
private string[] GetUserProvidedAlias(string propertyPath)
97-
{
9889
string[] result;
9990
userProvidedAliases.TryGetValue(propertyPath, out result);
10091
return result;
10192
}
10293

103-
private string GetUserProvidedAlias(string propertyPath, Func<string> getDefaultAlias)
94+
private string GetUserProvidedAlias(string propertyPath)
10495
{
105-
string[] columns = propertyPath == null ? null : GetUserProvidedAlias(propertyPath);
106-
if (columns == null)
107-
{
108-
return getDefaultAlias();
109-
}
110-
else
111-
{
112-
return columns[0];
113-
}
96+
return GetUserProvidedAliases(propertyPath)?[0];
97+
11498
}
11599

116100
/// <summary>
@@ -125,7 +109,7 @@ public string[][] GetSuffixedPropertyAliases(ILoadable persister)
125109
string[][] suffixedPropertyAliases = new string[size][];
126110
for (int j = 0; j < size; j++)
127111
{
128-
suffixedPropertyAliases[j] = GetUserProvidedAliases(persister.PropertyNames[j], () => GetPropertyAliases(persister, j));
112+
suffixedPropertyAliases[j] = GetUserProvidedAliases(persister.PropertyNames[j]) ?? GetPropertyAliases(persister, j);
129113
}
130114
return suffixedPropertyAliases;
131115
}

0 commit comments

Comments
 (0)