From: Kevin W. <kev...@us...> - 2004-12-31 23:51:32
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Type In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24049 Modified Files: BinaryType.cs BlobType.cs BooleanType.cs ByteType.cs CharBooleanType.cs Log Message: fixing xml comments and letting ReSharper do reformatting Index: BinaryType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/BinaryType.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** BinaryType.cs 25 Oct 2004 05:37:56 -0000 1.7 --- BinaryType.cs 31 Dec 2004 23:51:19 -0000 1.8 *************** *** 3,12 **** using System.IO; using System.Text; - - using NHibernate.Cfg; using NHibernate.SqlTypes; ! namespace NHibernate.Type { ! /// <summary> /// BinaryType. --- 3,12 ---- using System.IO; using System.Text; using NHibernate.SqlTypes; + using NHibernate.Util; + using Environment = NHibernate.Cfg.Environment; ! namespace NHibernate.Type ! { /// <summary> /// BinaryType. *************** *** 14,108 **** public class BinaryType : MutableType { ! internal BinaryType() : this( new BinarySqlType() ) { } ! internal BinaryType(BinarySqlType sqlType) : base(sqlType) { } ! public override void Set(IDbCommand cmd, object value, int index) { //TODO: research into byte streams //if ( Cfg.Environment.UseStreamsForBinary ) { ! // Is this really necessary? ! // How do we do???? ! //TODO: st.setBinaryStream( index, new ByteArrayInputStream( (byte[]) value ), ( (byte[]) value ).length ); //} //else { ! //Need to set DbType in parameter???? ! ( (IDataParameter) cmd.Parameters[index] ).Value = (byte[]) value; //} } ! public override object Get(IDataReader rs, int index) { ! if ( Cfg.Environment.UseStreamsForBinary ) { // Is this really necessary? // see http://msdn.microsoft.com/library/en-us/cpguide/html/cpconobtainingblobvaluesfromdatabase.asp?frame=true // for a how to on reading binary/blob values from a db... ! MemoryStream outputStream = new MemoryStream(2048); ! byte[] buffer = new byte[2048]; long fieldOffset = 0; ! try { ! while (true) { ! long amountRead = rs.GetBytes(index, fieldOffset, buffer, 0, 2048); ! ! if (amountRead == 0) break; ! fieldOffset += amountRead; ! outputStream.Write(buffer,0,(int)amountRead); } outputStream.Close(); } ! catch (IOException ioe) { throw new HibernateException( "IOException occurred reading a binary value", ioe ); } ! return outputStream.ToArray(); ! } ! else { //TODO: not sure if this will work with all dbs ! return (byte[])rs[index]; } } ! public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } ! ! public override System.Type ReturnedClass { ! get { return typeof(byte[]); } } - - public override bool Equals(object x, object y) { - if (x==y) return true; - if (x==null || y==null) return false; ! return Util.ArrayHelper.Equals((byte[])x, (byte[])y); ! } ! ! public override string Name { get { return "Byte[]"; } } ! ! public override string ToXML(object val) { ! byte[] bytes = ( byte[] ) val; StringBuilder buf = new StringBuilder(); ! for ( int i=0; i<bytes.Length; i++ ) { ! string hexStr = (bytes[i] - byte.MinValue).ToString("x"); //Why no ToBase64? ! if ( hexStr.Length==1 ) buf.Append('0'); ! buf.Append(hexStr); } return buf.ToString(); } ! ! public override object DeepCopyNotNull(Object value) { ! byte[] bytes = (byte[]) value; ! byte[] result = new byte[bytes.Length]; ! System.Array.Copy(bytes, 0, result, 0, bytes.Length); return result; } } ! } --- 14,181 ---- public class BinaryType : MutableType { ! /// <summary></summary> ! internal BinaryType() : this( new BinarySqlType() ) { } ! /// <summary> ! /// ! /// </summary> ! /// <param name="sqlType"></param> ! internal BinaryType( BinarySqlType sqlType ) : base( sqlType ) ! { } ! /// <summary> ! /// ! /// </summary> ! /// <param name="cmd"></param> ! /// <param name="value"></param> ! /// <param name="index"></param> ! public override void Set( IDbCommand cmd, object value, int index ) ! { //TODO: research into byte streams //if ( Cfg.Environment.UseStreamsForBinary ) { ! // Is this really necessary? ! // How do we do???? ! //TODO: st.setBinaryStream( index, new ByteArrayInputStream( (byte[]) value ), ( (byte[]) value ).length ); //} //else { ! //Need to set DbType in parameter???? ! ( ( IDataParameter ) cmd.Parameters[ index ] ).Value = ( byte[ ] ) value; //} } ! /// <summary> ! /// ! /// </summary> ! /// <param name="rs"></param> ! /// <param name="index"></param> ! /// <returns></returns> ! public override object Get( IDataReader rs, int index ) ! { ! if( Environment.UseStreamsForBinary ) ! { // Is this really necessary? // see http://msdn.microsoft.com/library/en-us/cpguide/html/cpconobtainingblobvaluesfromdatabase.asp?frame=true // for a how to on reading binary/blob values from a db... ! MemoryStream outputStream = new MemoryStream( 2048 ); ! byte[ ] buffer = new byte[2048]; long fieldOffset = 0; ! try ! { ! while( true ) ! { ! long amountRead = rs.GetBytes( index, fieldOffset, buffer, 0, 2048 ); ! ! if( amountRead == 0 ) ! { ! break; ! } ! fieldOffset += amountRead; ! outputStream.Write( buffer, 0, ( int ) amountRead ); } outputStream.Close(); } ! catch( IOException ioe ) ! { throw new HibernateException( "IOException occurred reading a binary value", ioe ); } ! return outputStream.ToArray(); ! } ! else ! { //TODO: not sure if this will work with all dbs ! return ( byte[ ] ) rs[ index ]; } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="rs"></param> ! /// <param name="name"></param> ! /// <returns></returns> ! public override object Get( IDataReader rs, string name ) ! { ! return Get( rs, rs.GetOrdinal( name ) ); } ! ! /// <summary></summary> ! public override System.Type ReturnedClass ! { ! get { return typeof( byte[ ] ); } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="x"></param> ! /// <param name="y"></param> ! /// <returns></returns> ! public override bool Equals( object x, object y ) ! { ! if( x == y ) ! { ! return true; ! } ! if( x == null || y == null ) ! { ! return false; ! } ! ! return ArrayHelper.Equals( ( byte[ ] ) x, ( byte[ ] ) y ); } ! ! /// <summary></summary> ! public override int GetHashCode() ! { ! return base.GetHashCode(); ! } ! ! /// <summary></summary> ! public override string Name ! { get { return "Byte[]"; } } ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="val"></param> ! /// <returns></returns> ! public override string ToXML( object val ) ! { ! byte[ ] bytes = ( byte[ ] ) val; StringBuilder buf = new StringBuilder(); ! for( int i = 0; i < bytes.Length; i++ ) ! { ! string hexStr = ( bytes[ i ] - byte.MinValue ).ToString( "x" ); //Why no ToBase64? ! if( hexStr.Length == 1 ) ! { ! buf.Append( '0' ); ! } ! buf.Append( hexStr ); } return buf.ToString(); } ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="value"></param> ! /// <returns></returns> ! public override object DeepCopyNotNull( Object value ) ! { ! byte[ ] bytes = ( byte[ ] ) value; ! byte[ ] result = new byte[bytes.Length]; ! Array.Copy( bytes, 0, result, 0, bytes.Length ); return result; } } ! } \ No newline at end of file Index: CharBooleanType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/CharBooleanType.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CharBooleanType.cs 21 Nov 2004 22:56:31 -0000 1.8 --- CharBooleanType.cs 31 Dec 2004 23:51:19 -0000 1.9 *************** *** 1,57 **** using System; using System.Data; - using NHibernate.SqlTypes; ! namespace NHibernate.Type { ! /// <summary> /// Maps a <see cref="System.Boolean"/> Property /// to a <see cref="DbType.AnsiStringFixedLength"/> column. /// </summary> ! public abstract class CharBooleanType : BooleanType { ! protected abstract string TrueString { get; } protected abstract string FalseString { get; } ! internal CharBooleanType(AnsiStringFixedLengthSqlType sqlType) : base(sqlType) { } ! public override object Get(IDataReader rs, int index) { ! string code = Convert.ToString(rs[index]); ! if (code==null) { return null; } ! else { ! return code.ToUpper().Equals(TrueString); } } ! public override object Get(IDataReader rs, string name) { ! return Get(rs, rs.GetOrdinal(name)); } ! public override void Set(IDbCommand cmd, Object value, int index) { ! ( (IDataParameter) cmd.Parameters[index] ).Value = ( ( (bool)value ) ? TrueString : FalseString ); } ! ! public override string ObjectToSQLString(object value) { ! return "'" + ( ( (bool) value ) ? TrueString : FalseString ) + "'"; } ! public override object StringToObject(String xml) { ! if( TrueString.Equals(xml) ) { return true; } ! else if( FalseString.Equals(xml) ) { return false; } ! else { ! throw new HibernateException("Could not interpret: " + xml); } } --- 1,97 ---- using System; using System.Data; using NHibernate.SqlTypes; ! namespace NHibernate.Type ! { /// <summary> /// Maps a <see cref="System.Boolean"/> Property /// to a <see cref="DbType.AnsiStringFixedLength"/> column. /// </summary> ! public abstract class CharBooleanType : BooleanType { ! /// <summary></summary> protected abstract string TrueString { get; } + + /// <summary></summary> protected abstract string FalseString { get; } ! /// <summary> ! /// ! /// </summary> ! /// <param name="sqlType"></param> ! internal CharBooleanType( AnsiStringFixedLengthSqlType sqlType ) : base( sqlType ) ! { } ! /// <summary> ! /// ! /// </summary> ! /// <param name="rs"></param> ! /// <param name="index"></param> ! /// <returns></returns> ! public override object Get( IDataReader rs, int index ) ! { ! string code = Convert.ToString( rs[ index ] ); ! if( code == null ) ! { return null; } ! else ! { ! return code.ToUpper().Equals( TrueString ); } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="rs"></param> ! /// <param name="name"></param> ! /// <returns></returns> ! public override object Get( IDataReader rs, string name ) ! { ! return Get( rs, rs.GetOrdinal( name ) ); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="cmd"></param> ! /// <param name="value"></param> ! /// <param name="index"></param> ! public override void Set( IDbCommand cmd, Object value, int index ) ! { ! ( ( IDataParameter ) cmd.Parameters[ index ] ).Value = ( ( ( bool ) value ) ? TrueString : FalseString ); } ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="value"></param> ! /// <returns></returns> ! public override string ObjectToSQLString( object value ) ! { ! return "'" + ( ( ( bool ) value ) ? TrueString : FalseString ) + "'"; } ! /// <summary> ! /// ! /// </summary> ! /// <param name="xml"></param> ! /// <returns></returns> ! public override object StringToObject( String xml ) { ! if( TrueString.Equals( xml ) ) { return true; } ! else if( FalseString.Equals( xml ) ) { return false; } ! else { ! throw new HibernateException( "Could not interpret: " + xml ); } } Index: BlobType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/BlobType.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BlobType.cs 20 Feb 2003 21:42:13 -0000 1.1 --- BlobType.cs 31 Dec 2004 23:51:19 -0000 1.2 *************** *** 1,4 **** - using System; - namespace NHibernate.Type { --- 1,2 ---- *************** *** 8,11 **** --- 6,10 ---- public class BlobType { + /// <summary></summary> public BlobType() { *************** *** 15,17 **** } } ! } --- 14,16 ---- } } ! } \ No newline at end of file Index: ByteType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/ByteType.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ByteType.cs 25 Oct 2004 05:37:56 -0000 1.8 --- ByteType.cs 31 Dec 2004 23:51:19 -0000 1.9 *************** *** 1,47 **** using System; using System.Data; - - using NHibernate.Engine; using NHibernate.SqlTypes; ! namespace NHibernate.Type { ! /// <summary> /// Maps a <see cref="System.Byte"/> Property /// to a <see cref="DbType.Byte"/> column. /// </summary> ! public class ByteType : ValueTypeType, IDiscriminatorType { ! ! internal ByteType() : base( new ByteSqlType() ) { } ! public override object Get(IDataReader rs, int index) { ! return Convert.ToByte(rs[index]); } ! public override object Get(IDataReader rs, string name) { ! return Convert.ToByte(rs[name]); } ! public override System.Type ReturnedClass { ! get { return typeof(byte); } } ! ! public override void Set(IDbCommand cmd, object value, int index) { ! ( (IDataParameter)cmd.Parameters[index] ).Value = (byte) value; } ! public override string Name { get { return "Byte"; } } ! public override string ObjectToSQLString(object value) { return value.ToString(); } ! public virtual object StringToObject(string xml) { ! return byte.Parse(xml); } } --- 1,82 ---- using System; using System.Data; using NHibernate.SqlTypes; ! namespace NHibernate.Type ! { /// <summary> /// Maps a <see cref="System.Byte"/> Property /// to a <see cref="DbType.Byte"/> column. /// </summary> ! public class ByteType : ValueTypeType, IDiscriminatorType { ! /// <summary></summary> ! internal ByteType() : base( new ByteSqlType() ) { } ! /// <summary> ! /// ! /// </summary> ! /// <param name="rs"></param> ! /// <param name="index"></param> ! /// <returns></returns> ! public override object Get( IDataReader rs, int index ) ! { ! return Convert.ToByte( rs[ index ] ); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="rs"></param> ! /// <param name="name"></param> ! /// <returns></returns> ! public override object Get( IDataReader rs, string name ) ! { ! return Convert.ToByte( rs[ name ] ); } ! /// <summary></summary> ! public override System.Type ReturnedClass ! { ! get { return typeof( byte ); } } ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="cmd"></param> ! /// <param name="value"></param> ! /// <param name="index"></param> ! public override void Set( IDbCommand cmd, object value, int index ) ! { ! ( ( IDataParameter ) cmd.Parameters[ index ] ).Value = ( byte ) value; } ! /// <summary></summary> ! public override string Name ! { get { return "Byte"; } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="value"></param> ! /// <returns></returns> ! public override string ObjectToSQLString( object value ) ! { return value.ToString(); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="xml"></param> ! /// <returns></returns> ! public virtual object StringToObject( string xml ) ! { ! return byte.Parse( xml ); } } Index: BooleanType.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Type/BooleanType.cs,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** BooleanType.cs 25 Oct 2004 05:37:56 -0000 1.10 --- BooleanType.cs 31 Dec 2004 23:51:19 -0000 1.11 *************** *** 1,15 **** using System; using System.Data; - using NHibernate.SqlTypes; ! namespace NHibernate.Type { ! /// <summary> /// Maps a <see cref="System.Boolean"/> Property /// to a <see cref="DbType.Boolean"/> column. /// </summary> ! public class BooleanType : ValueTypeType, IDiscriminatorType { ! private static readonly string TRUE = "1"; private static readonly string FALSE = "0"; --- 1,14 ---- using System; using System.Data; using NHibernate.SqlTypes; ! namespace NHibernate.Type ! { /// <summary> /// Maps a <see cref="System.Boolean"/> Property /// to a <see cref="DbType.Boolean"/> column. /// </summary> ! public class BooleanType : ValueTypeType, IDiscriminatorType ! { private static readonly string TRUE = "1"; private static readonly string FALSE = "0"; *************** *** 19,23 **** /// </summary> /// <remarks>This is used when the Property is mapped to a native boolean type.</remarks> ! internal BooleanType() : base( new BooleanSqlType() ) { } --- 18,22 ---- /// </summary> /// <remarks>This is used when the Property is mapped to a native boolean type.</remarks> ! internal BooleanType() : base( new BooleanSqlType() ) { } *************** *** 32,64 **** /// that stores true or false as a string. /// </remarks> ! internal BooleanType(AnsiStringFixedLengthSqlType sqlType) : base(sqlType) { } ! public override object Get(IDataReader rs, int index) { ! return Convert.ToBoolean(rs[index]); } ! public override object Get(IDataReader rs, string name) { ! return Convert.ToBoolean(rs[name]); } ! ! public override System.Type ReturnedClass { ! get { return typeof(bool); } } ! public override void Set(IDbCommand cmd, object value, int index) { ! ( (IDataParameter)cmd.Parameters[index] ).Value = (bool) value; } ! ! public override string Name { get { return "Boolean"; } } ! ! public override string ObjectToSQLString(object value) { ! return ( (bool)value ) ? TRUE : FALSE; } ! ! public virtual object StringToObject(string xml) { ! return bool.Parse(xml); } } --- 31,103 ---- /// that stores true or false as a string. /// </remarks> ! internal BooleanType( AnsiStringFixedLengthSqlType sqlType ) : base( sqlType ) ! { } ! /// <summary> ! /// ! /// </summary> ! /// <param name="rs"></param> ! /// <param name="index"></param> ! /// <returns></returns> ! public override object Get( IDataReader rs, int index ) ! { ! return Convert.ToBoolean( rs[ index ] ); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="rs"></param> ! /// <param name="name"></param> ! /// <returns></returns> ! public override object Get( IDataReader rs, string name ) ! { ! return Convert.ToBoolean( rs[ name ] ); } ! ! /// <summary> ! /// ! /// </summary> ! public override System.Type ReturnedClass ! { ! get { return typeof( bool ); } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="cmd"></param> ! /// <param name="value"></param> ! /// <param name="index"></param> ! public override void Set( IDbCommand cmd, object value, int index ) ! { ! ( ( IDataParameter ) cmd.Parameters[ index ] ).Value = ( bool ) value; } ! ! /// <summary></summary> ! public override string Name ! { get { return "Boolean"; } } ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="value"></param> ! /// <returns></returns> ! public override string ObjectToSQLString( object value ) ! { ! return ( ( bool ) value ) ? TRUE : FALSE; } ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="xml"></param> ! /// <returns></returns> ! public virtual object StringToObject( string xml ) ! { ! return bool.Parse( xml ); } } |