|
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.
|