コード例 #1
0
ファイル: NumberArrayType.cs プロジェクト: Neo4Net/Neo4Net
        internal override void InitializeArray(GenericKey key, int length, Org.Neo4j.Values.Storable.ValueWriter_ArrayType arrayType)
        {
            InitializeArray(key, length);
            switch (arrayType)
            {
            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Byte:
                key.Long1 = RawBits.BYTE;
                break;

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Short:
                key.Long1 = RawBits.SHORT;
                break;

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Int:
                key.Long1 = RawBits.INT;
                break;

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Long:
                key.Long1 = RawBits.LONG;
                break;

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Float:
                key.Long1 = RawBits.FLOAT;
                break;

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Double:
                key.Long1 = RawBits.DOUBLE;
                break;

            default:
                throw new System.ArgumentException("Invalid number array type " + arrayType);
            }
        }
コード例 #2
0
 public override void BeginArray(int size, Org.Neo4j.Values.Storable.ValueWriter_ArrayType arrayType)
 {
     if (size > 0)
     {
         Builder.Append(TypeChar(arrayType));
     }
 }
コード例 #3
0
 internal AbstractArrayType(ValueGroup valueGroup, sbyte typeId, ArrayElementComparator arrayElementComparator, ArrayElementValueFactory <T> valueFactory, ArrayElementWriter arrayElementWriter, ArrayElementReader arrayElementReader, System.Func <int, T[]> arrayCreator, Org.Neo4j.Values.Storable.ValueWriter_ArrayType arrayType) : base(valueGroup, typeId, null, null)
 {
     this._arrayElementComparator = arrayElementComparator;
     this._valueFactory           = valueFactory;
     this.ArrayElementWriter      = arrayElementWriter;
     this._arrayElementReader     = arrayElementReader;
     this._arrayCreator           = arrayCreator;
     this._arrayType = arrayType;
 }
コード例 #4
0
            internal virtual char TypeChar(Org.Neo4j.Values.Storable.ValueWriter_ArrayType arrayType)
            {
                switch (arrayType)
                {
                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Boolean:
                    return('Z');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Byte:
                    return('D');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Short:
                    return('D');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Int:
                    return('D');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Long:
                    return('D');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Float:
                    return('D');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Double:
                    return('D');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Char:
                    return('L');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.String:
                    return('L');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Point:
                    return('P');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.ZonedDateTime:
                    return('T');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.LocalDateTime:
                    return('T');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Date:
                    return('T');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.ZonedTime:
                    return('T');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.LocalTime:
                    return('T');

                case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Duration:
                    return('A');

                default:
                    throw new System.NotSupportedException("Not supported array type: " + arrayType);
                }
            }
コード例 #5
0
ファイル: NumberArrayType.cs プロジェクト: Neo4Net/Neo4Net
 internal override bool ReadValue(PageCursor cursor, int size, GenericKey into)
 {
     into.Long1 = cursor.Byte;               // number type, like: byte, int, short a.s.o.
     Org.Neo4j.Values.Storable.ValueWriter_ArrayType numberType = NumberArrayTypeOf(( sbyte )into.Long1);
     if (numberType == null)
     {
         setCursorException(cursor, "non-valid number type for array, " + into.Long1);
         return(false);
     }
     return(ReadArray(cursor, numberType, NumberArrayElementReader(into), into));
 }
コード例 #6
0
ファイル: GeometryArrayType.cs プロジェクト: Neo4Net/Neo4Net
        internal override void InitializeArray(GenericKey key, int length, Org.Neo4j.Values.Storable.ValueWriter_ArrayType arrayType)
        {
            key.Long0Array = EnsureBigEnough(key.Long0Array, length);

            // Since this method is called when serializing a PointValue into the key state, the CRS and number of dimensions
            // are unknown at this point. Read more about why lazy initialization is required in the class-level javadoc.
            if (length == 0 && key.Long1Array == null)
            {
                // There's this special case where we're initializing an empty geometry array and so the long1Array
                // won't be initialized at all. Therefore we're preemptively making sure it's at least not null.
                key.Long1Array = EMPTY_LONG_ARRAY;
            }
        }
コード例 #7
0
 internal static bool ReadArray(PageCursor cursor, Org.Neo4j.Values.Storable.ValueWriter_ArrayType type, ArrayElementReader reader, GenericKey into)
 {
     if (!SetArrayLengthWhenReading(into, cursor, cursor.Short))
     {
         return(false);
     }
     into.BeginArray(into.ArrayLength, type);
     for (int i = 0; i < into.ArrayLength; i++)
     {
         if (!reader(cursor, into))
         {
             return(false);
         }
     }
     into.EndArray();
     return(true);
 }
コード例 #8
0
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: private static AbstractArrayType<?> typeOf(org.neo4j.values.storable.ValueWriter_ArrayType arrayType)
        private static AbstractArrayType <object> TypeOf(Org.Neo4j.Values.Storable.ValueWriter_ArrayType arrayType)
        {
            switch (arrayType)
            {
            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Boolean:
                return(BooleanArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Byte:
            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Short:
            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Int:
            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Long:
            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Float:
            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Double:
                return(NumberArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.String:
            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Char:
                return(TextArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.LocalDateTime:
                return(LocalDateTimeArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Date:
                return(DateArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Duration:
                return(DurationArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.Point:
                return(GeometryArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.LocalTime:
                return(LocalTimeArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.ZonedDateTime:
                return(ZonedDateTimeArray);

            case Org.Neo4j.Values.Storable.ValueWriter_ArrayType.ZonedTime:
                return(ZonedTimeArray);

            default:
                throw new System.NotSupportedException(arrayType.name());
            }
        }
コード例 #9
0
 internal override void InitializeArray(GenericKey key, int length, Org.Neo4j.Values.Storable.ValueWriter_ArrayType arrayType)
 {
     key.Long0Array = EnsureBigEnough(key.Long0Array, length);
 }
コード例 #10
0
 internal abstract void InitializeArray(GenericKey key, int length, Org.Neo4j.Values.Storable.ValueWriter_ArrayType arrayType);