diff --git a/src/NHibernate.Test/MappingByCode/MappersTests/PropertyMapperTest.cs b/src/NHibernate.Test/MappingByCode/MappersTests/PropertyMapperTest.cs index 21a740e60d2..298e08ab592 100644 --- a/src/NHibernate.Test/MappingByCode/MappersTests/PropertyMapperTest.cs +++ b/src/NHibernate.Test/MappingByCode/MappersTests/PropertyMapperTest.cs @@ -35,6 +35,11 @@ public void Access(Accessor accessor) AccessorCalled = true; } + public void Access() where T : IPropertyAccessor, new() + { + + } + public void Access(System.Type accessorType) { diff --git a/src/NHibernate/Mapping/ByCode/IAccessorPropertyMapper.cs b/src/NHibernate/Mapping/ByCode/IAccessorPropertyMapper.cs index 278043f853a..da153af112f 100644 --- a/src/NHibernate/Mapping/ByCode/IAccessorPropertyMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IAccessorPropertyMapper.cs @@ -1,3 +1,5 @@ +using NHibernate.Properties; + namespace NHibernate.Mapping.ByCode { public enum Accessor @@ -6,12 +8,22 @@ public enum Accessor Field, NoSetter, ReadOnly, - None + None, + //NH-3720 + FieldCamelCase, + FieldCamelCaseUnderscore, + FieldCamelCaseMUnderscore, + FieldLowerCase, + FieldLowerCaseUnderscore, + FieldPascalCaseUnderscore, + FieldPascalCaseM, + FieldPascalCaseMUnderscore } public interface IAccessorPropertyMapper { void Access(Accessor accessor); void Access(System.Type accessorType); + void Access() where T : IPropertyAccessor, new(); } } \ No newline at end of file diff --git a/src/NHibernate/Mapping/ByCode/Impl/AccessorPropertyMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/AccessorPropertyMapper.cs index f264dcbf55e..2f293260713 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/AccessorPropertyMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/AccessorPropertyMapper.cs @@ -92,11 +92,41 @@ public void Access(Accessor accessor) case Accessor.None: setAccessor("none"); break; + //NH-3720 + case Accessor.FieldCamelCase: + setAccessor("field.camelcase"); + break; + case Accessor.FieldCamelCaseMUnderscore: + setAccessor("field.camelcase-m-underscore"); + break; + case Accessor.FieldCamelCaseUnderscore: + setAccessor("field.camelcase-underscore"); + break; + case Accessor.FieldLowerCase: + setAccessor("field.lowercase"); + break; + case Accessor.FieldLowerCaseUnderscore: + setAccessor("field.lowercase-underscore"); + break; + case Accessor.FieldPascalCaseM: + setAccessor("field.pascalcase-m"); + break; + case Accessor.FieldPascalCaseUnderscore: + setAccessor("field.pascalcase-underscore"); + break; + case Accessor.FieldPascalCaseMUnderscore: + setAccessor("field.pascalcase-m-underscore"); + break; default: throw new ArgumentOutOfRangeException("accessor"); } } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { if (!canChangeAccessor) diff --git a/src/NHibernate/Mapping/ByCode/Impl/AnyMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/AnyMapper.cs index e09865baa61..6b64291ce58 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/AnyMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/AnyMapper.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; using NHibernate.Type; namespace NHibernate.Mapping.ByCode.Impl @@ -59,6 +60,11 @@ public void Access(Accessor accessor) entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/BagMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/BagMapper.cs index c961e1a8000..19231bcf109 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/BagMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/BagMapper.cs @@ -4,6 +4,7 @@ using System.Reflection; using NHibernate.Cfg.MappingSchema; using NHibernate.Persister.Collection; +using NHibernate.Properties; using NHibernate.UserTypes; namespace NHibernate.Mapping.ByCode.Impl @@ -211,6 +212,11 @@ public void Access(Accessor accessor) entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/ComponentAsIdLikeComponentAttributesMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/ComponentAsIdLikeComponentAttributesMapper.cs index 0f524abaaef..beeee7e2e9c 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/ComponentAsIdLikeComponentAttributesMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/ComponentAsIdLikeComponentAttributesMapper.cs @@ -1,5 +1,6 @@ using System; using System.Reflection; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl { @@ -23,6 +24,11 @@ public void Access(Accessor accessor) _realMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { _realMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/ComponentAsIdMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/ComponentAsIdMapper.cs index 940112cf879..f0321732f4a 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/ComponentAsIdMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/ComponentAsIdMapper.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl { @@ -40,6 +41,11 @@ public void Access(System.Type accessorType) accessorPropertyMapper.Access(accessorType); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Class(System.Type componentType) { id.@class = componentType.GetShortClassName(mapDoc); diff --git a/src/NHibernate/Mapping/ByCode/Impl/ComponentElementMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/ComponentElementMapper.cs index 51a492eab40..b93c75ab7c5 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/ComponentElementMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/ComponentElementMapper.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl { @@ -92,6 +93,11 @@ public void Access(Accessor accessor) // not supported by HbmCompositeElement } + public void Access() where T : IPropertyAccessor, new() + { + // not supported by HbmCompositeElement + } + public void Access(System.Type accessorType) { // not supported by HbmCompositeElement diff --git a/src/NHibernate/Mapping/ByCode/Impl/ComponentMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/ComponentMapper.cs index c414b03e9f3..79b69635a2c 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/ComponentMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/ComponentMapper.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl { @@ -89,6 +90,11 @@ public void Access(Accessor accessor) _accessorPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { _accessorPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/ComponentNestedElementMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/ComponentNestedElementMapper.cs index 34a5ad33e10..c25b283effc 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/ComponentNestedElementMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/ComponentNestedElementMapper.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl { @@ -94,6 +95,11 @@ public void Access(Accessor accessor) _accessorPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { _accessorPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/ComponentParentMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/ComponentParentMapper.cs index dab930fe432..b577084053d 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/ComponentParentMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/ComponentParentMapper.cs @@ -1,6 +1,7 @@ using System; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl { @@ -25,6 +26,11 @@ public void Access(Accessor accessor) accessorPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { accessorPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionPropertiesCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionPropertiesCustomizer.cs index e79236f0f76..2fea4e82f71 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionPropertiesCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionPropertiesCustomizer.cs @@ -2,6 +2,7 @@ using System.Linq.Expressions; using System.Reflection; using NHibernate.Persister.Collection; +using NHibernate.Properties; using NHibernate.UserTypes; namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl @@ -138,6 +139,11 @@ public void Access(System.Type accessorType) CustomizersHolder.AddCustomizer(PropertyPath, (ICollectionPropertiesMapper x) => x.Access(accessorType)); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void OptimisticLock(bool takeInConsiderationForOptimisticLock) { CustomizersHolder.AddCustomizer(PropertyPath, (ICollectionPropertiesMapper x) => x.OptimisticLock(takeInConsiderationForOptimisticLock)); diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentAsIdCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentAsIdCustomizer.cs index 7334a20f281..9e958041a8f 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentAsIdCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentAsIdCustomizer.cs @@ -1,4 +1,5 @@ using System; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { @@ -34,6 +35,11 @@ public void Access(Accessor accessor) CustomizersHolder.AddCustomizer(PropertyPath, (IComponentAsIdAttributesMapper m) => m.Access(accessor)); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { CustomizersHolder.AddCustomizer(PropertyPath, (IComponentAsIdAttributesMapper m) => m.Access(accessorType)); diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentCustomizer.cs index 80346ea5135..24c01c43da9 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentCustomizer.cs @@ -1,6 +1,7 @@ using System; using System.Linq.Expressions; using System.Reflection; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { @@ -78,6 +79,11 @@ public void Access(Accessor accessor) AddCustomizer(m => m.Access(accessor)); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { AddCustomizer(m => m.Access(accessorType)); diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentElementCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentElementCustomizer.cs index d0ec9d0480a..1e25467b0ae 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentElementCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentElementCustomizer.cs @@ -1,6 +1,7 @@ using System; using System.Linq.Expressions; using System.Reflection; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { @@ -112,6 +113,11 @@ public void Access(Accessor accessor) _customizersHolder.AddCustomizer(typeof (TComponent), (IComponentAttributesMapper x) => x.Access(accessor)); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { _customizersHolder.AddCustomizer(typeof (TComponent), (IComponentAttributesMapper x) => x.Access(accessorType)); diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/DynamicComponentCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/DynamicComponentCustomizer.cs index c08d14ecfd2..05f3b811eee 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/DynamicComponentCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/DynamicComponentCustomizer.cs @@ -1,4 +1,5 @@ using System; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { @@ -25,6 +26,11 @@ public void Access(Accessor accessor) CustomizersHolder.AddCustomizer(PropertyPath, (IDynamicComponentAttributesMapper m) => m.Access(accessor)); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { CustomizersHolder.AddCustomizer(PropertyPath, (IDynamicComponentAttributesMapper m) => m.Access(accessorType)); diff --git a/src/NHibernate/Mapping/ByCode/Impl/DynamicComponentMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/DynamicComponentMapper.cs index 06f5481d820..692450ffbb6 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/DynamicComponentMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/DynamicComponentMapper.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl { @@ -143,6 +144,11 @@ public void Access(Accessor accessor) accessorPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { accessorPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/IdBagMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/IdBagMapper.cs index 251ca3f0b7a..466e530d521 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/IdBagMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/IdBagMapper.cs @@ -4,6 +4,7 @@ using System.Reflection; using NHibernate.Cfg.MappingSchema; using NHibernate.Persister.Collection; +using NHibernate.Properties; using NHibernate.UserTypes; namespace NHibernate.Mapping.ByCode.Impl @@ -222,6 +223,11 @@ public void Access(Accessor accessor) entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/IdMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/IdMapper.cs index a082f0258a1..428958aabb6 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/IdMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/IdMapper.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; using NHibernate.Type; namespace NHibernate.Mapping.ByCode.Impl @@ -49,6 +50,11 @@ public void Access(Accessor accessor) accessorMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { accessorMapper.Access(accessorType); @@ -120,6 +126,8 @@ public void Access(Accessor accessor) {} public void Access(System.Type accessorType) {} + public void Access() where T : IPropertyAccessor, new() {} + #endregion } diff --git a/src/NHibernate/Mapping/ByCode/Impl/KeyManyToOneMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/KeyManyToOneMapper.cs index bea5bdac7da..c90a6a62f85 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/KeyManyToOneMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/KeyManyToOneMapper.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; namespace NHibernate.Mapping.ByCode.Impl { @@ -136,6 +137,11 @@ public void Access(Accessor accessor) _entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { _entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/KeyPropertyMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/KeyPropertyMapper.cs index 5d643a2e50a..6f8230818e3 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/KeyPropertyMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/KeyPropertyMapper.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; using NHibernate.Type; using NHibernate.UserTypes; @@ -52,6 +53,11 @@ public void Access(System.Type accessorType) entityPropertyMapper.Access(accessorType); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void OptimisticLock(bool takeInConsiderationForOptimisticLock) { // not supported by HbmKeyProperty diff --git a/src/NHibernate/Mapping/ByCode/Impl/ListMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/ListMapper.cs index e33fd70b1d9..9357df9d7db 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/ListMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/ListMapper.cs @@ -4,6 +4,7 @@ using System.Reflection; using NHibernate.Cfg.MappingSchema; using NHibernate.Persister.Collection; +using NHibernate.Properties; using NHibernate.UserTypes; namespace NHibernate.Mapping.ByCode.Impl @@ -220,6 +221,11 @@ public void Access(Accessor accessor) entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/ManyToOneMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/ManyToOneMapper.cs index 6194d5e524d..0e502e3b29e 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/ManyToOneMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/ManyToOneMapper.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; using NHibernate.Util; namespace NHibernate.Mapping.ByCode.Impl @@ -134,6 +135,11 @@ public void Access(Accessor accessor) _entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { _entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/MapMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/MapMapper.cs index e5bd28f1f6d..2b7e8bf27fb 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/MapMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/MapMapper.cs @@ -4,6 +4,7 @@ using System.Reflection; using NHibernate.Cfg.MappingSchema; using NHibernate.Persister.Collection; +using NHibernate.Properties; using NHibernate.UserTypes; namespace NHibernate.Mapping.ByCode.Impl @@ -232,6 +233,11 @@ public void Access(Accessor accessor) entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/NoMemberPropertyMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/NoMemberPropertyMapper.cs index 0fb45752e5e..7b239e7e392 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/NoMemberPropertyMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/NoMemberPropertyMapper.cs @@ -1,3 +1,5 @@ +using NHibernate.Properties; + namespace NHibernate.Mapping.ByCode.Impl { public class NoMemberPropertyMapper : IAccessorPropertyMapper @@ -8,6 +10,9 @@ public void Access(Accessor accessor) {} public void Access(System.Type accessorType) {} + public void Access() where T : IPropertyAccessor, new() + {} + #endregion } } \ No newline at end of file diff --git a/src/NHibernate/Mapping/ByCode/Impl/OneToOneMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/OneToOneMapper.cs index fca7c2964c9..1ef2b57ec7a 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/OneToOneMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/OneToOneMapper.cs @@ -2,6 +2,7 @@ using System.Linq.Expressions; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; using NHibernate.Util; namespace NHibernate.Mapping.ByCode.Impl @@ -47,6 +48,11 @@ public void Access(Accessor accessor) _entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { _entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/PropertyMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/PropertyMapper.cs index d7b2fcd43cf..b088855ad8b 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/PropertyMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/PropertyMapper.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; using NHibernate.Type; using NHibernate.UserTypes; using NHibernate.Util; @@ -54,6 +55,11 @@ public PropertyMapper(MemberInfo member, HbmProperty propertyMapping) #region Implementation of IEntityPropertyMapper + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(Accessor accessor) { entityPropertyMapper.Access(accessor); diff --git a/src/NHibernate/Mapping/ByCode/Impl/SetMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/SetMapper.cs index c7dc772c275..e71e08fdcd6 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/SetMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/SetMapper.cs @@ -4,6 +4,7 @@ using System.Reflection; using NHibernate.Cfg.MappingSchema; using NHibernate.Persister.Collection; +using NHibernate.Properties; using NHibernate.UserTypes; namespace NHibernate.Mapping.ByCode.Impl @@ -217,6 +218,11 @@ public void Access(Accessor accessor) entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { entityPropertyMapper.Access(accessorType); diff --git a/src/NHibernate/Mapping/ByCode/Impl/VersionMapper.cs b/src/NHibernate/Mapping/ByCode/Impl/VersionMapper.cs index f9f5d09c28f..706f99e3b51 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/VersionMapper.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/VersionMapper.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Reflection; using NHibernate.Cfg.MappingSchema; +using NHibernate.Properties; using NHibernate.Type; using NHibernate.UserTypes; @@ -148,6 +149,11 @@ public void Access(Accessor accessor) entityPropertyMapper.Access(accessor); } + public void Access() where T : IPropertyAccessor, new() + { + this.Access(typeof(T)); + } + public void Access(System.Type accessorType) { entityPropertyMapper.Access(accessorType);