Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Type
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13895/NHibernate/Type
Modified Files:
TypeFactory.cs
Added Files:
SByteType.cs
Log Message:
NH-151: added SByteType and Fixture for it
Moved nh specific CompositeId tests to their own namespace.
--- NEW FILE: SByteType.cs ---
using System;
using System.Data;
using NHibernate.Engine;
using NHibernate.SqlTypes;
namespace NHibernate.Type
{
/// <summary>
/// Maps a <see cref="System.SByte"/> Property
/// to a <see cref="DbType.SByte"/> column.
/// </summary>
public class SByteType : ValueTypeType, IDiscriminatorType
{
internal SByteType() : base( new SByteSqlType() )
{
}
public override object Get(IDataReader rs, int index)
{
return Convert.ToSByte(rs[index]);
}
public override object Get(IDataReader rs, string name)
{
return Convert.ToSByte(rs[name]);
}
public override System.Type ReturnedClass
{
get { return typeof(SByte); }
}
public override void Set(IDbCommand cmd, object value, int index)
{
( (IDataParameter)cmd.Parameters[index] ).Value = (SByte) value;
}
public override string Name
{
get { return "SByte"; }
}
public override string ObjectToSQLString(object value)
{
return value.ToString();
}
public virtual object StringToObject(string xml)
{
return SByte.Parse(xml);
}
}
}
Index: TypeFactory.cs
===================================================================
RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/TypeFactory.cs,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -d -r1.39 -r1.40
*** TypeFactory.cs 4 Dec 2004 22:24:17 -0000 1.39
--- TypeFactory.cs 11 Dec 2004 20:08:20 -0000 1.40
***************
*** 102,105 ****
--- 102,107 ----
typeByTypeOfName[ typeof(System.Int64).FullName ] = NHibernate.Int64;
typeByTypeOfName[ typeof(System.Int64).AssemblyQualifiedName ] = NHibernate.Int64;
+ typeByTypeOfName[ typeof(System.SByte).FullName ] = NHibernate.SByte;
+ typeByTypeOfName[ typeof(System.SByte).AssemblyQualifiedName ] = NHibernate.SByte;
typeByTypeOfName[ typeof(System.Single).FullName ] = NHibernate.Single;
typeByTypeOfName[ typeof(System.Single).AssemblyQualifiedName ] = NHibernate.Single;
***************
*** 126,129 ****
--- 128,132 ----
typeByTypeOfName[ NHibernate.Int32.Name ] = NHibernate.Int32;
typeByTypeOfName[ NHibernate.Int64.Name ] = NHibernate.Int64;
+ typeByTypeOfName[ NHibernate.SByte.Name ] = NHibernate.SByte;
typeByTypeOfName[ NHibernate.String.Name ] = NHibernate.String;
typeByTypeOfName[ NHibernate.Single.Name ] = NHibernate.Single;
|