コード例 #1
0
 protected override void FetchInternal(ResultSet rs, int columnIndex)
 {
     java.math.BigDecimal bigDecimal = rs.getBigDecimal(columnIndex);
     if (bigDecimal != null)
     {
         _d = (decimal)vmw.common.PrimitiveTypeUtils.BigDecimalToDecimal(bigDecimal);
     }
 }
コード例 #2
0
        static void Main(string[] args)
        {
            TypeAdapters.DecimalTypeAdapter = new IKVMDecimalTypeAdapter();

            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
            Cluster cluster = Cluster.Builder().AddContactPoint("cassi.cloudapp.net").Build();

            using (var session = cluster.Connect())
            {

                const string keyspaceName = "Excelsior";

                try
                {
                    session.ChangeKeyspace(keyspaceName);
                }
                catch (InvalidException)
                {
                    session.CreateKeyspaceIfNotExists(keyspaceName);
                    session.ChangeKeyspace(keyspaceName);
                }

                var table = session.GetTable<NerdMovie>();
                table.CreateIfNotExists();

                {
                    var batch = session.CreateBatch();
                    var movies = new List<NerdMovie>()
                    {
                        new NerdMovie(){ Movie = "Avatar", Director = "James Cameron", MainActor = "Sam Worthington", Year = 2009, Earned = new java.math.BigDecimal("2782275172.2782275172")},
                        new NerdMovie(){ Movie = "The Avengers", Director = "Joss Whedon", MainActor = "Robert Downey Jr.", Year = 2012, Earned = new java.math.BigDecimal("1511757910.1511757910")},
                        new NerdMovie(){ Movie = "Star Wars Episode III: Revenge of the Sith", Director = "George Lucas", MainActor = "Ewan McGregor", Year = 2005, Earned = new java.math.BigDecimal("848754768.848754768")},
                        new NerdMovie(){ Movie = "Django Unchained", Director = "Quentin Tarantino", MainActor = "Jamie Foxx", Year = 2012, Earned = new java.math.BigDecimal("407783271.407783271")},
                        new NerdMovie(){ Movie = "Serenity", Director = "Joss Whedon", MainActor = "Nathan Fillion", Year = 2005, Earned = new java.math.BigDecimal("-987654321")},
                        new NerdMovie(){ Movie = "Pulp Fiction", Director = "Quentin Tarantino", MainActor = "John Travolta", Year = 1994, Earned = new java.math.BigDecimal("987654321")},
                    };

                    batch.Append(from m in movies select table.Insert(m));
                    batch.Execute();
                }

                java.math.BigDecimal reallyBigDecimal = new java.math.BigDecimal("-123456789012345678901234567890.1234567890123456789012345678901234567890123456789012345678901234567890");
                session.Execute(session.Prepare("INSERT INTO \"NerdMovie\"(\"Movie\",\"Director\", \"MainActor\", \"Year\", \"Earned\") VALUES('Serenjty','Joss Whedon','Nathan Fillion',1999, ?)").Bind(reallyBigDecimal));

                var nm = (from m in table select new { M = m.Movie, E = m.Earned }).Execute().ToList();
                foreach (var movie in nm)
                    Console.WriteLine("\""+movie.M + "\" earned : " + movie.E + "$");

                session.DeleteKeyspaceIfExists(keyspaceName);
                Console.ReadKey();
            }
            cluster.Shutdown();
        }
コード例 #3
0
        public Decimal(ulong ulongValue)
        {
            var long31 = (long)(ulongValue & System.Int64.MaxValue);

            if (long31 != (long)ulongValue)
            {
                v = new java.math.BigDecimal(
                    java.math.BigInteger.valueOf(long31)
                    .add(java.math.BigInteger.ONE.shiftLeft(63)));
            }
            else
            {
                v = new java.math.BigDecimal(long31);
            }
        }
コード例 #4
0
        static void Main(string[] args)
        {
            TestsPlatformAdapter.setInstance(new TestsPlatformAdapter());

            java.math.BigDecimal value = new java.math.BigDecimal("45000");
            byte[] bytes = value.unscaledValue().toByteArray();
            int    scale = value.scale();

            //

            decimal b = (decimal) new ObjectFabric.DecimalConverter(true, bytes, scale);

            Debug.Assert(value.toString() == b.ToString());

            Run(new org.objectfabric.SerializationTest());
            //Run( new DistributedSerializationTest() );

            //JavaTestsRunner.Run();

            Console.ReadLine();
        }
コード例 #5
0
 public Decimal(int[] bits)
 {
     if (bits == null)
     {
         throw new System.ArgumentNullException();
     }
     if (bits.Length == 4)
     {
         int flg = bits[3];
         if ((flg & 0x7F00FFFF) == 0)
         {
             bool neg = ((flg & 0x80000000) != 0) ? true : false;
             byte scl = (byte)((flg & 0x00FF0000) >> 16);
             if (scl <= 28)
             {
                 v = null;
                 SetBits(bits[0], bits[1], bits[2], neg, scl);
             }
         }
     }
     throw new System.ArgumentException();
 }
コード例 #6
0
 public Decimal(uint uintValue)
 {
     v = new java.math.BigDecimal((long)uintValue);
 }
コード例 #7
0
        //
        // constructors
        //

        public Decimal(int intValue)
        {
            v = new java.math.BigDecimal(intValue);
        }
コード例 #8
0
 public void setNumeric(int parameterIndex, java.math.BigDecimal value)
 {
     base.setBigDecimal(parameterIndex, value);
 }
コード例 #9
0
ファイル: Bone.cs プロジェクト: Trixt0r/SpriterXNATest
 /// <summary>Sets the value of the y property.</summary>
 /// <remarks>Sets the value of the y property.</remarks>
 /// <param name="value">
 /// allowed object is
 /// <see cref="java.math.BigDecimal"></see>
 /// </param>
 public virtual void setY(java.math.BigDecimal value)
 {
     this.y = value;
 }
コード例 #10
0
ファイル: Bone.cs プロジェクト: Trixt0r/SpriterXNATest
 /// <summary>Sets the value of the scaleY property.</summary>
 /// <remarks>Sets the value of the scaleY property.</remarks>
 /// <param name="value">
 /// allowed object is
 /// <see cref="java.math.BigDecimal"></see>
 /// </param>
 public virtual void setScaleY(java.math.BigDecimal value)
 {
     this.scaleY = value;
 }
コード例 #11
0
 /// <summary>Sets the value of the pivotY property.</summary>
 /// <remarks>Sets the value of the pivotY property.</remarks>
 /// <param name="value">
 /// allowed object is
 /// <see cref="java.math.BigDecimal"></see>
 /// </param>
 public virtual void setPivotY(java.math.BigDecimal value)
 {
     this.pivotY = value;
 }
コード例 #12
0
            public static decimal ToDecimal(JavaBigDecimal bigDecimalValue)
            {
                if (bigDecimalValue.compareTo(MAX_DECIMAL) > 0
                    || bigDecimalValue.compareTo(MIN_DECIMAL) < 0)
                {
                    throw HsqlConvert.NumericValueOutOfRange(bigDecimalValue);
                }

                return decimal.Parse(bigDecimalValue.toPlainString());
            }
コード例 #13
0
 public Decimal(float floatValue)
 {
     v = new java.math.BigDecimal(floatValue, java.math.MathContext.DECIMAL32)
         .stripTrailingZeros();
 }
コード例 #14
0
        internal static object JavaResultSetToClrWrapper(CallableStatement results, int columnIndex, JavaSqlTypes javaSqlType, int maxLength, ResultSetMetaData resultsMetaData)
        {
            object returnValue = null;

            sbyte[] sbyteArray;
            long    milliseconds;
            long    ticks;
            string  s;

            columnIndex++;             //jdbc style
            switch (javaSqlType)
            {
            case JavaSqlTypes.ARRAY:
                returnValue = results.getArray(columnIndex);
                break;

            case JavaSqlTypes.BIGINT:
                returnValue = results.getLong(columnIndex);
                break;

            case JavaSqlTypes.BINARY:
            case JavaSqlTypes.VARBINARY:
            case JavaSqlTypes.LONGVARBINARY:
                // FIXME : comsider using maxLength
                sbyteArray = results.getBytes(columnIndex);
                if (sbyteArray != null)
                {
                    returnValue = vmw.common.TypeUtils.ToByteArray(sbyteArray);
                }
                break;

            case JavaSqlTypes.BIT:
                returnValue = results.getBoolean(columnIndex);
                break;

            case JavaSqlTypes.BLOB:
                // FIXME : comsider using maxLength
                java.sql.Blob blob = results.getBlob(columnIndex);
                if (blob != null)
                {
                    InputStream input = blob.getBinaryStream();
                    if (input == null)
                    {
                        returnValue = new byte[0];
                    }
                    else
                    {
                        long    length     = blob.length();
                        byte[]  byteValue  = new byte[length];
                        sbyte[] sbyteValue = vmw.common.TypeUtils.ToSByteArray(byteValue);
                        input.read(sbyteValue);
                        returnValue = byteValue;
                    }
                }
                break;

            case JavaSqlTypes.CHAR:
                if (resultsMetaData != null && "uniqueidentifier".Equals(resultsMetaData.getColumnTypeName(columnIndex)))
                {
                    returnValue = new Guid(results.getString(columnIndex));
                }
                else
                {
                    // Oracle Jdbc driver returns extra trailing 0 chars for NCHAR columns, so we threat this at parameter.Size level
                    s = results.getString(columnIndex);
                    if ((s != null) && (maxLength < s.Length))
                    {
                        s = s.Substring(0, maxLength);
                    }
                    returnValue = s;
                }
                break;

            case JavaSqlTypes.CLOB:
                // FIXME : comsider using maxLength
                java.sql.Clob clob = results.getClob(columnIndex);
                if (clob != null)
                {
                    java.io.Reader reader = clob.getCharacterStream();
                    if (reader == null)
                    {
                        returnValue = String.Empty;
                    }
                    else
                    {
                        long   length    = clob.length();
                        char[] charValue = new char[length];
                        reader.read(charValue);
                        returnValue = new string(charValue);
                    }
                }
                break;

            case JavaSqlTypes.TIME:
                Time t = results.getTime(columnIndex);
                if (t != null)
                {
                    returnValue = new TimeSpan(JavaTimeToClrTicks(t));
                }
                break;

            case JavaSqlTypes.DATE:
                Date d = results.getDate(columnIndex);
                if (d != null)
                {
                    returnValue = new DateTime(JavaDateToClrTicks(d));
                }
                break;

            case JavaSqlTypes.TIMESTAMP:
                Timestamp ts = results.getTimestamp(columnIndex);
                if (ts != null)
                {
                    returnValue = new DateTime(JavaTimestampToClrTicks(ts));
                }
                break;

            case JavaSqlTypes.DECIMAL:
            case JavaSqlTypes.NUMERIC:
                // java.sql.Types.NUMERIC (2), columnTypeName NUMBER, columnClassName java.math.BigDecimal
                // therefore we rely on scale
                if (resultsMetaData != null && resultsMetaData.getScale(columnIndex) == -127)
                {
                    // Oracle db type FLOAT
                    returnValue = results.getDouble(columnIndex);
                }
                else
                {
                    java.math.BigDecimal bigDecimal = results.getBigDecimal(columnIndex);
                    if (bigDecimal != null)
                    {
                        returnValue = vmw.common.PrimitiveTypeUtils.BigDecimalToDecimal(bigDecimal);
                    }
                }
                break;

            case JavaSqlTypes.DISTINCT:
                returnValue = results.getObject(columnIndex);
                break;

            case JavaSqlTypes.DOUBLE:
                returnValue = results.getDouble(columnIndex);
                break;

            case JavaSqlTypes.FLOAT:
                //float f = results.getFloat(columnIndex);
                returnValue = results.getDouble(columnIndex);
                break;

            case JavaSqlTypes.INTEGER:
                returnValue = results.getInt(columnIndex);
                break;

            case JavaSqlTypes.JAVA_OBJECT:
                returnValue = results.getObject(columnIndex);
                break;

            case JavaSqlTypes.LONGVARCHAR:
                returnValue = results.getString(columnIndex);
                break;

            case JavaSqlTypes.NULL:
                returnValue = DBNull.Value;
                break;

            case JavaSqlTypes.OTHER:
                returnValue = results.getObject(columnIndex);
                break;

            case JavaSqlTypes.REAL:
                returnValue = results.getFloat(columnIndex);
                break;

            case JavaSqlTypes.REF:
                returnValue = results.getRef(columnIndex);
                break;

            case JavaSqlTypes.SMALLINT:
                returnValue = results.getShort(columnIndex);
                break;

            case JavaSqlTypes.STRUCT:
                returnValue = results.getObject(columnIndex);
                break;

            case JavaSqlTypes.TINYINT:
                returnValue = Convert.ToByte(results.getByte(columnIndex));
                break;

            case JavaSqlTypes.VARCHAR:
                s = results.getString(columnIndex);
                if ((s != null) && (maxLength < s.Length))
                {
                    s = s.Substring(0, maxLength);
                }
                returnValue = s;
                break;

            default:
                returnValue = results.getObject(columnIndex);
                break;
            }

            if (results.wasNull() || results == null)
            {
                return(DBNull.Value);
            }
            return(returnValue);
        }
コード例 #15
0
        /// <summary>
        /// Initializes the <see cref="Tokenizer"/> class.
        /// </summary>
        static Tokenizer()
        {
            m_ValueTokens = new org.hsqldb.lib.IntValueHashMap();

            m_ValueTokens.put(Token.ValueFor.NULL,
                (int)SqlTokenType.Null);
            m_ValueTokens.put(Token.ValueFor.TRUE,
                (int)SqlTokenType.BooleanLiteral);
            m_ValueTokens.put(Token.ValueFor.FALSE,
                (int)SqlTokenType.BooleanLiteral);

            m_EnglishCulture = CultureInfo.GetCultureInfo("en");

            m_LongMaxValuePlusOne
                = JavaBigDecimal.valueOf(long.MaxValue)
                    .add(JavaBigDecimal.valueOf(1));
        }
コード例 #16
0
ファイル: Bone.cs プロジェクト: Trixt0r/SpriterXNATest
 /// <summary>Sets the value of the y property.</summary>
 /// <remarks>Sets the value of the y property.</remarks>
 /// <param name="value">
 /// allowed object is
 /// <see cref="java.math.BigDecimal"></see>
 /// </param>
 public virtual void setY(java.math.BigDecimal value)
 {
     this.y = value;
 }
コード例 #17
0
ファイル: Bone.cs プロジェクト: Trixt0r/SpriterXNATest
 /// <summary>Sets the value of the scaleY property.</summary>
 /// <remarks>Sets the value of the scaleY property.</remarks>
 /// <param name="value">
 /// allowed object is
 /// <see cref="java.math.BigDecimal"></see>
 /// </param>
 public virtual void setScaleY(java.math.BigDecimal value)
 {
     this.scaleY = value;
 }
コード例 #18
0
ファイル: Bone.cs プロジェクト: Trixt0r/SpriterXNATest
 /// <summary>Sets the value of the angle property.</summary>
 /// <remarks>Sets the value of the angle property.</remarks>
 /// <param name="value">
 /// allowed object is
 /// <see cref="java.math.BigDecimal"></see>
 /// </param>
 public virtual void setAngle(java.math.BigDecimal value)
 {
     this.angle = value;
 }
コード例 #19
0
 public Decimal(long longValue)
 {
     v = new java.math.BigDecimal(longValue);
 }
コード例 #20
0
ファイル: Ratio.cs プロジェクト: jlomax/clojure-clr
 // Java Rev 1256.
 // TODO: figure out the roundingModes in  this implementation.
 // TODO:  Make this an explicit cast opearator?
 // TODO: Look at all these conversions.
 public BigDecimal ToBigDecimal()
 {
     // TODO: When we replace BigDecimal, revert to more reasonable constructors.
     //BigDecimal numerator = new BigDecimal(this.numerator);
     //BigDecimal denominator = new BigDecimal(this.denominator);
     BigDecimal numerator = new BigDecimal(this.numerator.ToString());
     BigDecimal denominator = new BigDecimal(this.denominator.ToString());
     return numerator.divide(denominator, 0);
 }
コード例 #21
0
            public static JavaBigDecimal ToDecimal(ushort ushortValue)
            {
                switch (ushortValue)
                {
                    case 0:
                        {
                            return BIG_DECIMAL_0;
                        }
                    case 1:
                        {
                            return BIG_DECIMAL_1;
                        }
                    default:
                        {
                            JavaBigDecimal result = decimalLookup.get(ushortValue) as JavaBigDecimal;

                            if (result == null)
                            {
                                result = new JavaBigDecimal(ushortValue);

                                decimalLookup.put(ushortValue, result);
                            }

                            return result;
                        }
                }
            }
コード例 #22
0
        static void Main(string[] args)
        {
            TypeAdapters.DecimalTypeAdapter = new IKVMDecimalTypeAdapter();

            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
            Cluster cluster = Cluster.Builder().AddContactPoint("cassi.cloudapp.net").Build();

            using (var session = cluster.Connect())
            {
                const string keyspaceName = "Excelsior";

                try
                {
                    session.ChangeKeyspace(keyspaceName);
                }
                catch (InvalidException)
                {
                    session.CreateKeyspaceIfNotExists(keyspaceName);
                    session.ChangeKeyspace(keyspaceName);
                }

                var table = session.GetTable <NerdMovie>();
                table.CreateIfNotExists();

                {
                    var batch  = session.CreateBatch();
                    var movies = new List <NerdMovie>()
                    {
                        new NerdMovie()
                        {
                            Movie = "Avatar", Director = "James Cameron", MainActor = "Sam Worthington", Year = 2009, Earned = new java.math.BigDecimal("2782275172.2782275172")
                        },
                        new NerdMovie()
                        {
                            Movie = "The Avengers", Director = "Joss Whedon", MainActor = "Robert Downey Jr.", Year = 2012, Earned = new java.math.BigDecimal("1511757910.1511757910")
                        },
                        new NerdMovie()
                        {
                            Movie = "Star Wars Episode III: Revenge of the Sith", Director = "George Lucas", MainActor = "Ewan McGregor", Year = 2005, Earned = new java.math.BigDecimal("848754768.848754768")
                        },
                        new NerdMovie()
                        {
                            Movie = "Django Unchained", Director = "Quentin Tarantino", MainActor = "Jamie Foxx", Year = 2012, Earned = new java.math.BigDecimal("407783271.407783271")
                        },
                        new NerdMovie()
                        {
                            Movie = "Serenity", Director = "Joss Whedon", MainActor = "Nathan Fillion", Year = 2005, Earned = new java.math.BigDecimal("-987654321")
                        },
                        new NerdMovie()
                        {
                            Movie = "Pulp Fiction", Director = "Quentin Tarantino", MainActor = "John Travolta", Year = 1994, Earned = new java.math.BigDecimal("987654321")
                        },
                    };

                    batch.Append(from m in movies select table.Insert(m));
                    batch.Execute();
                }

                java.math.BigDecimal reallyBigDecimal = new java.math.BigDecimal("-123456789012345678901234567890.1234567890123456789012345678901234567890123456789012345678901234567890");
                session.Execute(session.Prepare("INSERT INTO \"NerdMovie\"(\"Movie\",\"Director\", \"MainActor\", \"Year\", \"Earned\") VALUES('Serenjty','Joss Whedon','Nathan Fillion',1999, ?)").Bind(reallyBigDecimal));

                var nm = (from m in table select new { M = m.Movie, E = m.Earned }).Execute().ToList();
                foreach (var movie in nm)
                {
                    Console.WriteLine("\"" + movie.M + "\" earned : " + movie.E + "$");
                }

                session.DeleteKeyspaceIfExists(keyspaceName);
                Console.ReadKey();
            }
            cluster.Shutdown();
        }
コード例 #23
0
 public Decimal(double doubleValue)
 {
     v = new java.math.BigDecimal(doubleValue, java.math.MathContext.DECIMAL64)
         .stripTrailingZeros();
 }
コード例 #24
0
            public static JavaBigDecimal ToDecimal(long longValue)
            {
                switch (longValue)
                {
                    case 0L:
                        {
                            return BIG_DECIMAL_0;
                        }
                    case 1L:
                        {
                            return BIG_DECIMAL_1;
                        }
                    default:
                        {
                            if (longValue < short.MinValue
                                || longValue > ushort.MaxValue)
                            {
                                return new JavaBigDecimal(longValue);
                            }

                            int intValue = (int)longValue;

                            JavaBigDecimal result =
                                decimalLookup.get(intValue) as JavaBigDecimal;

                            if (result == null)
                            {
                                result = new JavaBigDecimal(intValue);

                                decimalLookup.put(intValue, result);
                            }

                            return result;
                        }
                }
            }
コード例 #25
0
 public Decimal(int lo, int mid, int hi, bool neg, byte scl)
 {
     v = null;
     SetBits(lo, mid, hi, neg, scl);
 }
コード例 #26
0
            public static JavaBigDecimal ToDecimal(ulong ulongValue)
            {
                switch (ulongValue)
                {
                    case 0L:
                        {
                            return BIG_DECIMAL_0;
                        }
                    case 1L:
                        {
                            return BIG_DECIMAL_1;
                        }
                    default:
                        {
                            if (((ulong)short.MaxValue) < ulongValue)
                            {
                                return (ulong.MaxValue >= ulongValue)
                                           ? new JavaBigDecimal((long)ulongValue)
                                           : new JavaBigDecimal(ulongValue.ToString());
                            }

                            int intValue = (int)ulongValue;

                            JavaBigDecimal result =
                                decimalLookup.get(intValue) as JavaBigDecimal;

                            if (result == null)
                            {
                                result = new JavaBigDecimal(intValue);

                                decimalLookup.put(intValue, result);
                            }

                            return result;
                        }
                }
            }
コード例 #27
0
ファイル: Bone.cs プロジェクト: Trixt0r/SpriterXNATest
 /// <summary>Sets the value of the angle property.</summary>
 /// <remarks>Sets the value of the angle property.</remarks>
 /// <param name="value">
 /// allowed object is
 /// <see cref="java.math.BigDecimal"></see>
 /// </param>
 public virtual void setAngle(java.math.BigDecimal value)
 {
     this.angle = value;
 }
コード例 #28
0
 /// <summary>Sets the value of the pivotY property.</summary>
 /// <remarks>Sets the value of the pivotY property.</remarks>
 /// <param name="value">
 /// allowed object is
 /// <see cref="java.math.BigDecimal"></see>
 /// </param>
 public virtual void setPivotY(java.math.BigDecimal value)
 {
     this.pivotY = value;
 }