Skip to content

Commit 223392a

Browse files
authored
Simplify calls to AttributeStoreExtensions.GetOrDefault (#672)
+semver:patch
1 parent 33bd219 commit 223392a

40 files changed

+251
-254
lines changed

src/FluentNHibernate.Testing/MappingModel/AttributeStoreTester.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ public class AttributeStoreTester
88
{
99
sealed class TestStore : AttributeStore
1010
{
11-
public bool IsSomething => this.GetOrDefault<bool>("IsSomething");
11+
public bool IsSomething => this.GetOrDefault<bool>();
1212

13-
public string Name => this.GetOrDefault<string>("Name");
13+
public string Name => this.GetOrDefault<string>();
1414
}
1515

1616
[Test]

src/FluentNHibernate/Automapping/AutoMapping.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -222,16 +222,14 @@ public void Join(string table, Action<AutoJoinPart<T>> action)
222222
/// <param name="column">Column name</param>
223223
public void KeyColumn(string column)
224224
{
225-
KeyMapping key;
226-
227-
if (attributes.IsSpecified("Key"))
228-
key = attributes.GetOrDefault<KeyMapping>("Key");
229-
else
230-
key = new KeyMapping();
225+
const string attribute = "Key";
226+
var key = attributes.IsSpecified(attribute)
227+
? attributes.GetOrDefault<KeyMapping>(attribute)
228+
: new KeyMapping();
231229

232230
key.AddColumn(Layer.UserSupplied, new ColumnMapping(column));
233231

234-
attributes.Set("Key", Layer.UserSupplied, key);
232+
attributes.Set(attribute, Layer.UserSupplied, key);
235233
}
236234

237235
/// <summary>

src/FluentNHibernate/Mapping/SubclassMap.cs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -173,16 +173,14 @@ public void Check(string constraint)
173173
/// <param name="column">Column name</param>
174174
public void KeyColumn(string column)
175175
{
176-
KeyMapping key;
177-
178-
if (attributes.IsSpecified("Key"))
179-
key = attributes.GetOrDefault<KeyMapping>("Key");
180-
else
181-
key = new KeyMapping();
176+
const string attribute = "Key";
177+
var key = attributes.IsSpecified(attribute)
178+
? attributes.GetOrDefault<KeyMapping>(attribute)
179+
: new KeyMapping();
182180

183181
key.AddColumn(Layer.UserSupplied, new ColumnMapping(column));
184182

185-
attributes.Set("Key", Layer.UserSupplied, key);
183+
attributes.Set(attribute, Layer.UserSupplied, key);
186184
}
187185

188186
/// <summary>
@@ -349,7 +347,7 @@ SubclassMapping IIndeterminateSubclassMappingProvider.GetSubclassMapping(Subclas
349347

350348
Type IIndeterminateSubclassMappingProvider.EntityType => EntityType;
351349

352-
Type IIndeterminateSubclassMappingProvider.Extends => attributes.GetOrDefault<Type>("Extends");
350+
Type IIndeterminateSubclassMappingProvider.Extends => attributes.GetOrDefault<Type>();
353351

354352
void GenerateNestedSubclasses(SubclassMapping mapping)
355353
{

src/FluentNHibernate/MappingModel/AnyMapping.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,23 @@ public override void AcceptVisitor(IMappingModelVisitor visitor)
3333
visitor.Visit(column);
3434
}
3535

36-
public string Name => attributes.GetOrDefault<string>("Name");
36+
public string Name => attributes.GetOrDefault<string>();
3737

38-
public string IdType => attributes.GetOrDefault<string>("IdType");
38+
public string IdType => attributes.GetOrDefault<string>();
3939

40-
public TypeReference MetaType => attributes.GetOrDefault<TypeReference>("MetaType");
40+
public TypeReference MetaType => attributes.GetOrDefault<TypeReference>();
4141

42-
public string Access => attributes.GetOrDefault<string>("Access");
42+
public string Access => attributes.GetOrDefault<string>();
4343

44-
public bool Insert => attributes.GetOrDefault<bool>("Insert");
44+
public bool Insert => attributes.GetOrDefault<bool>();
4545

46-
public bool Update => attributes.GetOrDefault<bool>("Update");
46+
public bool Update => attributes.GetOrDefault<bool>();
4747

48-
public string Cascade => attributes.GetOrDefault<string>("Cascade");
48+
public string Cascade => attributes.GetOrDefault<string>();
4949

50-
public bool Lazy => attributes.GetOrDefault<bool>("Lazy");
50+
public bool Lazy => attributes.GetOrDefault<bool>();
5151

52-
public bool OptimisticLock => attributes.GetOrDefault<bool>("OptimisticLock");
52+
public bool OptimisticLock => attributes.GetOrDefault<bool>();
5353

5454
public IEnumerable<ColumnMapping> TypeColumns => typeColumns.Columns;
5555

src/FluentNHibernate/MappingModel/AttributeStore.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Linq;
3+
using System.Runtime.CompilerServices;
34
using FluentNHibernate.MappingModel.Collections;
45

56
namespace FluentNHibernate.MappingModel;
@@ -75,7 +76,7 @@ public void Merge(AttributeStore columnAttributes)
7576

7677
public static class AttributeStoreExtensions
7778
{
78-
public static T GetOrDefault<T>(this AttributeStore store, string attribute)
79+
public static T GetOrDefault<T>(this AttributeStore store, [CallerMemberName] string attribute = default)
7980
{
8081
return (T)(store.Get(attribute) ?? default(T));
8182
}

src/FluentNHibernate/MappingModel/CacheMapping.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ public override void AcceptVisitor(IMappingModelVisitor visitor)
1919
visitor.ProcessCache(this);
2020
}
2121

22-
public string Region => attributes.GetOrDefault<string>("Region");
22+
public string Region => attributes.GetOrDefault<string>();
2323

24-
public string Usage => attributes.GetOrDefault<string>("Usage");
24+
public string Usage => attributes.GetOrDefault<string>();
2525

26-
public string Include => attributes.GetOrDefault<string>("Include");
26+
public string Include => attributes.GetOrDefault<string>();
2727

2828
public Type ContainedEntityType { get; set; }
2929

src/FluentNHibernate/MappingModel/ClassBased/ClassMapping.cs

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,23 @@ public ClassMapping()
1515
: this(new AttributeStore())
1616
{}
1717

18-
public IIdentityMapping Id => attributes.GetOrDefault<IIdentityMapping>("Id");
18+
public IIdentityMapping Id => attributes.GetOrDefault<IIdentityMapping>();
1919

20-
public NaturalIdMapping NaturalId => attributes.GetOrDefault<NaturalIdMapping>("NaturalId");
20+
public NaturalIdMapping NaturalId => attributes.GetOrDefault<NaturalIdMapping>();
2121

22-
public override string Name => attributes.GetOrDefault<string>("Name");
22+
public override string Name => attributes.GetOrDefault<string>();
2323

24-
public override Type Type => attributes.GetOrDefault<Type>("Type");
24+
public override Type Type => attributes.GetOrDefault<Type>();
2525

26-
public CacheMapping Cache => attributes.GetOrDefault<CacheMapping>("Cache");
26+
public CacheMapping Cache => attributes.GetOrDefault<CacheMapping>();
2727

28-
public VersionMapping Version => attributes.GetOrDefault<VersionMapping>("Version");
28+
public VersionMapping Version => attributes.GetOrDefault<VersionMapping>();
2929

30-
public DiscriminatorMapping Discriminator => attributes.GetOrDefault<DiscriminatorMapping>("Discriminator");
30+
public DiscriminatorMapping Discriminator => attributes.GetOrDefault<DiscriminatorMapping>();
3131

32-
public bool IsUnionSubclass => attributes.GetOrDefault<bool>("IsUnionSubclass");
32+
public bool IsUnionSubclass => attributes.GetOrDefault<bool>();
3333

34-
public TuplizerMapping Tuplizer => attributes.GetOrDefault<TuplizerMapping>("Tuplizer");
34+
public TuplizerMapping Tuplizer => attributes.GetOrDefault<TuplizerMapping>();
3535

3636
public override void AcceptVisitor(IMappingModelVisitor visitor)
3737
{
@@ -58,43 +58,43 @@ public override void AcceptVisitor(IMappingModelVisitor visitor)
5858
base.AcceptVisitor(visitor);
5959
}
6060

61-
public string TableName => attributes.GetOrDefault<string>("TableName");
61+
public string TableName => attributes.GetOrDefault<string>();
6262

63-
public int BatchSize => attributes.GetOrDefault<int>("BatchSize");
63+
public int BatchSize => attributes.GetOrDefault<int>();
6464

65-
public object DiscriminatorValue => attributes.GetOrDefault<object>("DiscriminatorValue");
65+
public object DiscriminatorValue => attributes.GetOrDefault<object>();
6666

67-
public string Schema => attributes.GetOrDefault<string>("Schema");
67+
public string Schema => attributes.GetOrDefault<string>();
6868

69-
public bool Lazy => attributes.GetOrDefault<bool>("Lazy");
69+
public bool Lazy => attributes.GetOrDefault<bool>();
7070

71-
public bool Mutable => attributes.GetOrDefault<bool>("Mutable");
71+
public bool Mutable => attributes.GetOrDefault<bool>();
7272

73-
public bool DynamicUpdate => attributes.GetOrDefault<bool>("DynamicUpdate");
73+
public bool DynamicUpdate => attributes.GetOrDefault<bool>();
7474

75-
public bool DynamicInsert => attributes.GetOrDefault<bool>("DynamicInsert");
75+
public bool DynamicInsert => attributes.GetOrDefault<bool>();
7676

77-
public string OptimisticLock => attributes.GetOrDefault<string>("OptimisticLock");
77+
public string OptimisticLock => attributes.GetOrDefault<string>();
7878

79-
public string Polymorphism => attributes.GetOrDefault<string>("Polymorphism");
79+
public string Polymorphism => attributes.GetOrDefault<string>();
8080

81-
public string Persister => attributes.GetOrDefault<string>("Persister");
81+
public string Persister => attributes.GetOrDefault<string>();
8282

83-
public string Where => attributes.GetOrDefault<string>("Where");
83+
public string Where => attributes.GetOrDefault<string>();
8484

85-
public string Check => attributes.GetOrDefault<string>("Check");
85+
public string Check => attributes.GetOrDefault<string>();
8686

87-
public string Proxy => attributes.GetOrDefault<string>("Proxy");
87+
public string Proxy => attributes.GetOrDefault<string>();
8888

89-
public bool SelectBeforeUpdate => attributes.GetOrDefault<bool>("SelectBeforeUpdate");
89+
public bool SelectBeforeUpdate => attributes.GetOrDefault<bool>();
9090

91-
public bool Abstract => attributes.GetOrDefault<bool>("Abstract");
91+
public bool Abstract => attributes.GetOrDefault<bool>();
9292

93-
public string Subselect => attributes.GetOrDefault<string>("Subselect");
93+
public string Subselect => attributes.GetOrDefault<string>();
9494

95-
public string SchemaAction => attributes.GetOrDefault<string>("SchemaAction");
95+
public string SchemaAction => attributes.GetOrDefault<string>();
9696

97-
public string EntityName => attributes.GetOrDefault<string>("EntityName");
97+
public string EntityName => attributes.GetOrDefault<string>();
9898

9999
public bool Equals(ClassMapping other)
100100
{

src/FluentNHibernate/MappingModel/ClassBased/ComponentMapping.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ public override void AcceptVisitor(IMappingModelVisitor visitor)
3232

3333
public string ColumnPrefix { get; set; }
3434

35-
public override string Name => attributes.GetOrDefault<string>("Name");
35+
public override string Name => attributes.GetOrDefault<string>();
3636

37-
public override Type Type => attributes.GetOrDefault<Type>("Type");
37+
public override Type Type => attributes.GetOrDefault<Type>();
3838

39-
public TypeReference Class => attributes.GetOrDefault<TypeReference>("Class");
39+
public TypeReference Class => attributes.GetOrDefault<TypeReference>();
4040

41-
public bool Lazy => attributes.GetOrDefault<bool>("Lazy");
41+
public bool Lazy => attributes.GetOrDefault<bool>();
4242

4343
public bool Equals(ComponentMapping other)
4444
{

src/FluentNHibernate/MappingModel/ClassBased/ComponentMappingBase.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@ public override void AcceptVisitor(IMappingModelVisitor visitor)
2323
public Type ContainingEntityType { get; set; }
2424
public Member Member { get; set; }
2525

26-
public ParentMapping Parent => attributes.GetOrDefault<ParentMapping>("Parent");
26+
public ParentMapping Parent => attributes.GetOrDefault<ParentMapping>();
2727

28-
public bool Unique => attributes.GetOrDefault<bool>("Unique");
28+
public bool Unique => attributes.GetOrDefault<bool>();
2929

30-
public bool Insert => attributes.GetOrDefault<bool>("Insert");
30+
public bool Insert => attributes.GetOrDefault<bool>();
3131

32-
public bool Update => attributes.GetOrDefault<bool>("Update");
32+
public bool Update => attributes.GetOrDefault<bool>();
3333

34-
public string Access => attributes.GetOrDefault<string>("Access");
34+
public string Access => attributes.GetOrDefault<string>();
3535

36-
public bool OptimisticLock => attributes.GetOrDefault<bool>("OptimisticLock");
36+
public bool OptimisticLock => attributes.GetOrDefault<bool>();
3737

3838
public bool Equals(ComponentMappingBase other)
3939
{

src/FluentNHibernate/MappingModel/ClassBased/SubclassMapping.cs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public SubclassMapping(SubclassType subclassType)
2121
/// instead used as a marker for the <see cref="SeparateSubclassVisitor"/>
2222
/// to pair things up.
2323
/// </summary>
24-
public Type Extends => attributes.GetOrDefault<Type>("Extends");
24+
public Type Extends => attributes.GetOrDefault<Type>();
2525

2626
public override void AcceptVisitor(IMappingModelVisitor visitor)
2727
{
@@ -33,39 +33,39 @@ public override void AcceptVisitor(IMappingModelVisitor visitor)
3333
base.AcceptVisitor(visitor);
3434
}
3535

36-
public override string Name => attributes.GetOrDefault<string>("Name");
36+
public override string Name => attributes.GetOrDefault<string>();
3737

38-
public override Type Type => attributes.GetOrDefault<Type>("Type");
38+
public override Type Type => attributes.GetOrDefault<Type>();
3939

40-
public object DiscriminatorValue => attributes.GetOrDefault<object>("DiscriminatorValue");
40+
public object DiscriminatorValue => attributes.GetOrDefault<object>();
4141

42-
public bool Lazy => attributes.GetOrDefault<bool>("Lazy");
42+
public bool Lazy => attributes.GetOrDefault<bool>();
4343

44-
public string Proxy => attributes.GetOrDefault<string>("Proxy");
44+
public string Proxy => attributes.GetOrDefault<string>();
4545

46-
public bool DynamicUpdate => attributes.GetOrDefault<bool>("DynamicUpdate");
46+
public bool DynamicUpdate => attributes.GetOrDefault<bool>();
4747

48-
public bool DynamicInsert => attributes.GetOrDefault<bool>("DynamicInsert");
48+
public bool DynamicInsert => attributes.GetOrDefault<bool>();
4949

50-
public bool SelectBeforeUpdate => attributes.GetOrDefault<bool>("SelectBeforeUpdate");
50+
public bool SelectBeforeUpdate => attributes.GetOrDefault<bool>();
5151

52-
public bool Abstract => attributes.GetOrDefault<bool>("Abstract");
52+
public bool Abstract => attributes.GetOrDefault<bool>();
5353

54-
public string EntityName => attributes.GetOrDefault<string>("EntityName");
54+
public string EntityName => attributes.GetOrDefault<string>();
5555

56-
public string TableName => attributes.GetOrDefault<string>("TableName");
56+
public string TableName => attributes.GetOrDefault<string>();
5757

58-
public KeyMapping Key => attributes.GetOrDefault<KeyMapping>("Key");
58+
public KeyMapping Key => attributes.GetOrDefault<KeyMapping>();
5959

60-
public string Check => attributes.GetOrDefault<string>("Check");
60+
public string Check => attributes.GetOrDefault<string>();
6161

62-
public string Schema => attributes.GetOrDefault<string>("Schema");
62+
public string Schema => attributes.GetOrDefault<string>();
6363

64-
public string Subselect => attributes.GetOrDefault<string>("Subselect");
64+
public string Subselect => attributes.GetOrDefault<string>();
6565

66-
public TypeReference Persister => attributes.GetOrDefault<TypeReference>("Persister");
66+
public TypeReference Persister => attributes.GetOrDefault<TypeReference>();
6767

68-
public int BatchSize => attributes.GetOrDefault<int>("BatchSize");
68+
public int BatchSize => attributes.GetOrDefault<int>();
6969

7070
public void OverrideAttributes(AttributeStore store)
7171
{

0 commit comments

Comments
 (0)