コード例 #1
0
ファイル: SolrJavaBinConverter.cs プロジェクト: hiiru/Mizore
 private bool WritePrimitive(object value, SolrBinaryStream stream)
 {
     if (value == null)
     {
         stream.Write(NULL);
         return(true);
     }
     if (value is string)
     {
         WriteString((string)value, stream);
         return(true);
     }
     if (value is int)
     {
         WriteInt((int)value, stream);
         return(true);
     }
     if (value is long)
     {
         WriteLong((long)value, stream);
         return(true);
     }
     if (value is float)
     {
         WriteFloat((float)value, stream);
         return(true);
     }
     if (value is double)
     {
         stream.Write(DOUBLE);
         stream.WriteDouble((double)value);
         return(true);
     }
     if (value is byte)
     {
         stream.Write(BYTE);
         stream.Write((byte)value);
         return(true);
     }
     if (value is short)
     {
         stream.Write(SHORT);
         stream.WriteShort((short)value);
         return(true);
     }
     if (value is DateTime)
     {
         stream.Write(DATE);
         stream.WriteLong((long)((DateTime)value).ToUniversalTime().Subtract(utcDateTime).TotalMilliseconds);
         return(true);
     }
     if (value is bool)
     {
         if ((bool)value)
         {
             stream.Write(BOOL_TRUE);
         }
         else
         {
             stream.Write(BOOL_FALSE);
         }
         return(true);
     }
     if (value is byte[])
     {
         var buf = (byte[])value;
         WriteByteArray(buf, 0, buf.Length, stream);
         return(true);
     }
     if (value == END_OBJ)
     {
         WriteTag(END, stream);
         return(true);
     }
     return(false);
 }
コード例 #2
0
ファイル: SolrJavaBinConverter.cs プロジェクト: hiiru/Mizore
 private bool WritePrimitive(object value, SolrBinaryStream stream)
 {
     if (value == null)
     {
         stream.Write(NULL);
         return true;
     }
     if (value is string)
     {
         WriteString((string)value, stream);
         return true;
     }
     if (value is int)
     {
         WriteInt((int)value, stream);
         return true;
     }
     if (value is long)
     {
         WriteLong((long)value, stream);
         return true;
     }
     if (value is float)
     {
         WriteFloat((float)value, stream);
         return true;
     }
     if (value is double)
     {
         stream.Write(DOUBLE);
         stream.WriteDouble((double)value);
         return true;
     }
     if (value is byte)
     {
         stream.Write(BYTE);
         stream.Write((byte)value);
         return true;
     }
     if (value is short)
     {
         stream.Write(SHORT);
         stream.WriteShort((short)value);
         return true;
     }
     if (value is DateTime)
     {
         stream.Write(DATE);
         stream.WriteLong((long)((DateTime)value).ToUniversalTime().Subtract(utcDateTime).TotalMilliseconds);
         return true;
     }
     if (value is bool)
     {
         if ((bool)value) stream.Write(BOOL_TRUE);
         else stream.Write(BOOL_FALSE);
         return true;
     }
     if (value is byte[])
     {
         var buf = (byte[])value;
         WriteByteArray(buf, 0, buf.Length, stream);
         return true;
     }
     if (value == END_OBJ)
     {
         WriteTag(END, stream);
         return true;
     }
     return false;
 }