Skip to content

Commit 01330fd

Browse files
committed
Corrected conventions
1 parent 0ae768c commit 01330fd

17 files changed

+81
-27
lines changed

src/MongoDB.Bson/Serialization/Conventions/AttributeConventionPack.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,9 @@ public void Apply(BsonCreatorMap creatorMap)
8787
}
8888
}
8989

90-
public void Apply(BsonMemberMap memberMap)
90+
public void Apply(BsonMemberMap memberMap) => Apply(memberMap, BsonSerializer.DefaultDomain);
91+
92+
public void Apply(BsonMemberMap memberMap, IBsonSerializationDomain domain)
9193
{
9294
var attributes = memberMap.MemberInfo.GetCustomAttributes(inherit: false).OfType<IBsonMemberMapAttribute>();
9395
var groupings = attributes.GroupBy(a => (a is BsonSerializerAttribute) ? 1 : 2);
@@ -100,7 +102,9 @@ public void Apply(BsonMemberMap memberMap)
100102
}
101103
}
102104

103-
public void PostProcess(BsonClassMap classMap)
105+
public void PostProcess(BsonClassMap classMap) => PostProcess(classMap, BsonSerializer.DefaultDomain);
106+
107+
public void PostProcess(BsonClassMap classMap, IBsonSerializationDomain domain)
104108
{
105109
foreach (var attribute in classMap.ClassType.GetTypeInfo().GetCustomAttributes(inherit: false).OfType<IBsonPostProcessingAttribute>())
106110
{

src/MongoDB.Bson/Serialization/Conventions/CamelCaseElementNameConvention.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ namespace MongoDB.Bson.Serialization.Conventions
2424
public class CamelCaseElementNameConvention : ConventionBase, IMemberMapConvention
2525
{
2626
// public methods
27-
/// <summary>
28-
/// Applies a modification to the member map.
29-
/// </summary>
30-
/// <param name="memberMap">The member map.</param>
31-
public void Apply(BsonMemberMap memberMap)
27+
/// <inheritdoc />
28+
public void Apply(BsonMemberMap memberMap) => Apply(memberMap, BsonSerializer.DefaultDomain);
29+
30+
/// <inheritdoc />
31+
public void Apply(BsonMemberMap memberMap, IBsonSerializationDomain domain)
3232
{
3333
string name = memberMap.MemberName;
3434
name = GetElementName(name);

src/MongoDB.Bson/Serialization/Conventions/DelegateMemberMapConvention.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ public DelegateMemberMapConvention(string name, Action<BsonMemberMap> action)
4646
/// Applies a modification to the member map.
4747
/// </summary>
4848
/// <param name="memberMap">The member map.</param>
49-
public void Apply(BsonMemberMap memberMap)
49+
public void Apply(BsonMemberMap memberMap) => Apply(memberMap, BsonSerializer.DefaultDomain);
50+
51+
/// <inheritdoc />
52+
public void Apply(BsonMemberMap memberMap, IBsonSerializationDomain domain)
5053
{
5154
_action(memberMap);
5255
}

src/MongoDB.Bson/Serialization/Conventions/DelegatePostProcessingConvention.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ public DelegatePostProcessingConvention(string name, Action<BsonClassMap> action
4646
/// Applies a post processing modification to the class map.
4747
/// </summary>
4848
/// <param name="classMap">The class map.</param>
49-
public void PostProcess(BsonClassMap classMap)
49+
public void PostProcess(BsonClassMap classMap) => PostProcess(classMap, BsonSerializer.DefaultDomain);
50+
51+
/// <inheritdoc />
52+
public void PostProcess(BsonClassMap classMap, IBsonSerializationDomain domain)
5053
{
5154
_action(classMap);
5255
}

src/MongoDB.Bson/Serialization/Conventions/EnumRepresentationConvention.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ public EnumRepresentationConvention(BsonType representation)
4747
/// Applies a modification to the member map.
4848
/// </summary>
4949
/// <param name="memberMap">The member map.</param>
50-
public void Apply(BsonMemberMap memberMap)
50+
public void Apply(BsonMemberMap memberMap) => Apply(memberMap, BsonSerializer.DefaultDomain);
51+
52+
/// <inheritdoc />
53+
public void Apply(BsonMemberMap memberMap, IBsonSerializationDomain domain)
5154
{
5255
var memberType = memberMap.MemberType;
5356
var memberTypeInfo = memberType.GetTypeInfo();

src/MongoDB.Bson/Serialization/Conventions/IMemberMapConvention.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,13 @@ public interface IMemberMapConvention : IConvention
2525
/// </summary>
2626
/// <param name="memberMap">The member map.</param>
2727
void Apply(BsonMemberMap memberMap);
28+
29+
/// <summary>
30+
/// //TODO
31+
/// </summary>
32+
/// <param name="memberMap"></param>
33+
/// <param name="domain"></param>
34+
void Apply(BsonMemberMap memberMap, IBsonSerializationDomain domain);
35+
2836
}
2937
}

src/MongoDB.Bson/Serialization/Conventions/IPostProcessingConvention.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,12 @@ public interface IPostProcessingConvention : IConvention
2525
/// </summary>
2626
/// <param name="classMap">The class map.</param>
2727
void PostProcess(BsonClassMap classMap);
28+
29+
/// <summary>
30+
/// //TODO
31+
/// </summary>
32+
/// <param name="classMap"></param>
33+
/// <param name="domain"></param>
34+
void PostProcess(BsonClassMap classMap, IBsonSerializationDomain domain);
2835
}
2936
}

src/MongoDB.Bson/Serialization/Conventions/IgnoreIfDefaultConvention.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ public IgnoreIfDefaultConvention(bool ignoreIfDefault)
3737
/// Applies a modification to the member map.
3838
/// </summary>
3939
/// <param name="memberMap">The member map.</param>
40-
public void Apply(BsonMemberMap memberMap)
40+
public void Apply(BsonMemberMap memberMap) => Apply(memberMap, BsonSerializer.DefaultDomain);
41+
42+
/// <inheritdoc />
43+
public void Apply(BsonMemberMap memberMap, IBsonSerializationDomain domain)
4144
{
4245
memberMap.SetIgnoreIfDefault(_ignoreIfDefault);
4346
}

src/MongoDB.Bson/Serialization/Conventions/IgnoreIfNullConvention.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ public IgnoreIfNullConvention(bool ignoreIfNull)
3737
/// Applies a modification to the member map.
3838
/// </summary>
3939
/// <param name="memberMap">The member map.</param>
40-
public void Apply(BsonMemberMap memberMap)
40+
public void Apply(BsonMemberMap memberMap) => Apply(memberMap, BsonSerializer.DefaultDomain);
41+
42+
/// <inheritdoc />
43+
public void Apply(BsonMemberMap memberMap, IBsonSerializationDomain domain)
4144
{
4245
memberMap.SetIgnoreIfNull(_ignoreIfNull);
4346
}

src/MongoDB.Bson/Serialization/Conventions/LookupIdGeneratorConvention.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,19 @@ namespace MongoDB.Bson.Serialization.Conventions
2323
/// </summary>
2424
public class LookupIdGeneratorConvention : ConventionBase, IPostProcessingConvention
2525
{
26-
// public methods
27-
/// <summary>
28-
/// Applies a post processing modification to the class map.
29-
/// </summary>
30-
/// <param name="classMap">The class map.</param>
31-
public void PostProcess(BsonClassMap classMap)
26+
/// <inheritdoc/>
27+
public void PostProcess(BsonClassMap classMap) => PostProcess(classMap, BsonSerializer.DefaultDomain);
28+
29+
/// <inheritdoc/>
30+
public void PostProcess(BsonClassMap classMap, IBsonSerializationDomain domain)
3231
{
3332
var idMemberMap = classMap.IdMemberMap;
3433
if (idMemberMap != null)
3534
{
3635
if (idMemberMap.IdGenerator == null)
3736
{
3837
//or we pass the domain to the BsonClassMap. The first probably makes more sense, but it's messier.
39-
var idGenerator = BsonSerializer.LookupIdGenerator(idMemberMap.MemberType); //TODO ??
38+
var idGenerator = domain.LookupIdGenerator(idMemberMap.MemberType);
4039
if (idGenerator != null)
4140
{
4241
idMemberMap.SetIdGenerator(idGenerator);

0 commit comments

Comments
 (0)