From: <fab...@us...> - 2011-05-06 12:28:23
|
Revision: 5798 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5798&view=rev Author: fabiomaulo Date: 2011-05-06 12:28:17 +0000 (Fri, 06 May 2011) Log Message: ----------- Support of Generated for properties Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IPropertyMapper.cs trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/KeyPropertyMapper.cs trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyMapper.cs trunk/nhibernate/src/NHibernate/NHibernate.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyGeneration.cs Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/IPropertyMapper.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IPropertyMapper.cs 2011-05-03 21:33:56 UTC (rev 5797) +++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/IPropertyMapper.cs 2011-05-06 12:28:17 UTC (rev 5798) @@ -19,5 +19,6 @@ void Update(bool consideredInUpdateQuery); void Insert(bool consideredInInsertQuery); void Lazy(bool isLazy); + void Generated(PropertyGeneration generation); } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/KeyPropertyMapper.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/KeyPropertyMapper.cs 2011-05-03 21:33:56 UTC (rev 5797) +++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/KeyPropertyMapper.cs 2011-05-06 12:28:17 UTC (rev 5798) @@ -215,6 +215,11 @@ // lazy is not supported by HbmKeyProperty } + public void Generated(PropertyGeneration generation) + { + // generated is not supported by HbmKeyProperty + } + private bool ColumnTagIsRequired(HbmColumn hbm) { return hbm.precision != null || hbm.scale != null || hbm.notnull || hbm.unique Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyMapper.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyMapper.cs 2011-05-03 21:33:56 UTC (rev 5797) +++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyMapper.cs 2011-05-06 12:28:17 UTC (rev 5798) @@ -259,6 +259,15 @@ propertyMapping.lazy = isLazy; } + public void Generated(PropertyGeneration generation) + { + if (generation == null) + { + return; + } + propertyMapping.generated = generation.ToHbm(); + } + private void ResetColumnPlainValues() { propertyMapping.column = null; Added: trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyGeneration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyGeneration.cs (rev 0) +++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyGeneration.cs 2011-05-06 12:28:17 UTC (rev 5798) @@ -0,0 +1,37 @@ +using NHibernate.Cfg.MappingSchema; + +namespace NHibernate.Mapping.ByCode +{ + public abstract class PropertyGeneration + { + public static PropertyGeneration Never = new NeverPropertyGeneration(); + public static PropertyGeneration Insert = new InsertPropertyGeneration(); + public static PropertyGeneration Always = new AlwaysPropertyGeneration(); + + internal abstract HbmPropertyGeneration ToHbm(); + + public class AlwaysPropertyGeneration : PropertyGeneration + { + internal override HbmPropertyGeneration ToHbm() + { + return HbmPropertyGeneration.Always; + } + } + + public class InsertPropertyGeneration : PropertyGeneration + { + internal override HbmPropertyGeneration ToHbm() + { + return HbmPropertyGeneration.Insert; + } + } + + public class NeverPropertyGeneration : PropertyGeneration + { + internal override HbmPropertyGeneration ToHbm() + { + return HbmPropertyGeneration.Never; + } + } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj =================================================================== --- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2011-05-03 21:33:56 UTC (rev 5797) +++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2011-05-06 12:28:17 UTC (rev 5798) @@ -304,6 +304,7 @@ <Compile Include="Mapping\ByCode\Impl\CustomizersImpl\ComposedIdCustomizer.cs" /> <Compile Include="Mapping\ByCode\Impl\CustomizersImpl\DynamicComponentCustomizer.cs" /> <Compile Include="Mapping\ByCode\Impl\DynamicComponentMapper.cs" /> + <Compile Include="Mapping\ByCode\PropertyGeneration.cs" /> <Compile Include="Mapping\ByCode\PropertyToField.cs" /> <Compile Include="Mapping\ByCode\SimpleModelInspector.cs" /> <Compile Include="Mapping\ByCode\ExplicitlyDeclaredModel.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |