public Deps read()

in accord-maelstrom/src/main/java/accord/maelstrom/Json.java [347:418]


        public Deps read(JsonReader in) throws IOException
        {
            KeyDeps keyDeps = KeyDeps.NONE;
            KeyDeps directKeyDeps = KeyDeps.NONE;
            RangeDeps rangeDeps = RangeDeps.NONE;
            in.beginObject();
            while (in.hasNext())
            {
                String name;
                switch (name = in.nextName())
                {
                    case "keyDeps":
                    {
                        try (KeyDeps.Builder builder = KeyDeps.builder())
                        {
                            in.beginArray();
                            while (in.hasNext())
                            {
                                in.beginArray();
                                RoutingKey key = MaelstromKey.readRouting(in);
                                TxnId txnId = GSON.fromJson(in, TxnId.class);
                                builder.add(key, txnId);
                                in.endArray();
                            }
                            in.endArray();
                            keyDeps = builder.build();
                        }
                    }
                    break;
                    case "directKeyDeps":
                    {
                        try (KeyDeps.Builder builder = KeyDeps.builder())
                        {
                            in.beginArray();
                            while (in.hasNext())
                            {
                                in.beginArray();
                                RoutingKey key = MaelstromKey.readRouting(in);
                                TxnId txnId = GSON.fromJson(in, TxnId.class);
                                builder.add(key, txnId);
                                in.endArray();
                            }
                            in.endArray();
                            directKeyDeps = builder.build();
                        }
                    }
                    break;
                    case "rangeDeps":
                    {
                        try (RangeDeps.BuilderByRange builder = RangeDeps.builderByRange())
                        {
                            in.beginArray();
                            while (in.hasNext())
                            {
                                in.beginArray();
                                RoutingKey start = MaelstromKey.readRouting(in);
                                RoutingKey end = MaelstromKey.readRouting(in);
                                TxnId txnId = GSON.fromJson(in, TxnId.class);
                                builder.add(new MaelstromKey.Range(start, end), txnId);
                                in.endArray();
                            }
                            in.endArray();
                            rangeDeps = builder.build();
                        }
                    }
                    break;
                    default: throw new AssertionError("Unknown name: " + name);
                }
            }
            in.endObject();
            return new Deps(keyDeps, rangeDeps);
        }