示例#1
0
 public override AnyValue Value(int position)
 {
     return(Values.BooleanValue(BooleanValue(position)));
 }
示例#2
0
 internal virtual TextValue Build()
 {
     return(Values.Utf8Value(_bytes, 0, _length));
 }
示例#3
0
        public override TextValue Ltrim()
        {
            int start = LtrimIndex(_value);

            return(Values.StringValue(_value.Substring(start, _value.Length - start)));
        }
示例#4
0
        public override TextValue Rtrim()
        {
            int end = RtrimIndex(_value);

            return(Values.StringValue(_value.Substring(0, end)));
        }
示例#5
0
            public override IList <Pair <PointValue, PointValue> > BoundingBox(PointValue center, double distance)
            {
                Debug.Assert(center.CoordinateReferenceSystem.Dimension == Dimension);
                double[] coordinates = center.Coordinate();
                double[] min         = new double[Dimension];
                double[] max         = new double[Dimension];
                for (int i = 0; i < Dimension; i++)
                {
                    min[i] = coordinates[i] - distance;
                    max[i] = coordinates[i] + distance;
                }
                CoordinateReferenceSystem crs = center.CoordinateReferenceSystem;

                return(Collections.singletonList(Pair.of(Values.PointValue(crs, min), Values.PointValue(crs, max))));
            }
示例#6
0
        /// <summary>
        /// In contrast to <seealso cref="get(TemporalUnit)"/>, this method supports more units, namely:
        ///
        /// years, hours, minutes, milliseconds, microseconds,
        /// monthsOfYear, minutesOfHour, secondsOfMinute, millisecondsOfSecond, microsecondsOfSecond, nanosecondsOfSecond
        /// </summary>
        public LongValue Get(string fieldName)
        {
            long val = DurationFields.fromName(fieldName).asTimeStamp(_months, _days, _seconds, _nanos);

            return(Values.LongValue(val));
        }
示例#7
0
 public override DoubleValue DividedBy(double b)
 {
     return(Values.DoubleValue(DoubleValue() / b));
 }
示例#8
0
        public static Value UnsafeOf(object value, bool allowNull)
        {
            if (value is string)
            {
                return(StringValue(( string )value));
            }
            if (value is object[])
            {
                return(ArrayValue(( object[] )value));
            }
            if (value is bool?)
            {
                return(BooleanValue(( bool? )value.Value));
            }
            if (value is Number)
            {
                return(NumberValue(( Number )value));
            }
            if (value is char?)
            {
                return(CharValue(( char? )value.Value));
            }
            if (value is Temporal)
            {
                return(TemporalValue(( Temporal )value));
            }
            if (value is TemporalAmount)
            {
                return(DurationValue(( TemporalAmount )value));
            }
            if (value is sbyte[])
            {
                return(ByteArray((( sbyte[] )value).Clone()));
            }
            if (value is long[])
            {
                return(LongArray((( long[] )value).Clone()));
            }
            if (value is int[])
            {
                return(IntArray((( int[] )value).Clone()));
            }
            if (value is double[])
            {
                return(DoubleArray((( double[] )value).Clone()));
            }
            if (value is float[])
            {
                return(FloatArray((( float[] )value).Clone()));
            }
            if (value is bool[])
            {
                return(BooleanArray((( bool[] )value).Clone()));
            }
            if (value is char[])
            {
                return(CharArray((( char[] )value).Clone()));
            }
            if (value is short[])
            {
                return(ShortArray((( short[] )value).Clone()));
            }
            if (value == null)
            {
                if (allowNull)
                {
                    return(NoValue.NoValueConflict);
                }
                throw new System.ArgumentException("[null] is not a supported property value");
            }
            if (value is Point)
            {
                return(Values.Point(( Point )value));
            }
            if (value is Value)
            {
                throw new System.NotSupportedException("Converting a Value to a Value using Values.of() is not supported.");
            }

            // otherwise fail
            return(null);
        }
示例#9
0
 public override AnyValue Value(int offset)
 {
     return(Values.ShortValue(_value[offset]));
 }