@Test public void testSerialization() { ConcurrentRadixTree<Integer> tree1 = new ConcurrentRadixTree<Integer>(getNodeFactory()); tree1.put("TEST", 1); tree1.put("TEAM", 2); tree1.put("TOAST", 3); ConcurrentRadixTree<Integer> tree2 = TestUtility.deserialize(ConcurrentRadixTree.class, TestUtility.serialize(tree1)); assertEquals(PrettyPrinter.prettyPrint(tree1), PrettyPrinter.prettyPrint(tree2)); }
@Override public O put(CharSequence key, O value) { @SuppressWarnings({"unchecked", "UnnecessaryLocalVariable"}) O existingValue = (O) putInternal(key, value, true); return existingValue; }
ConcurrentRadixTree implements RadixTree<O>, PrettyPrintable, Serializable { @Override public O put(CharSequence key, O value) { @SuppressWarnings({"unchecked", "UnnecessaryLocalVariable"}) O existingValue = (O) putInternal(key, value, true); return existingValue; } }
ConcurrentRadixTree implements RadixTree<O>, PrettyPrintable, Serializable { @Override public O put(CharSequence key, O value) { @SuppressWarnings({"unchecked", "UnnecessaryLocalVariable"}) O existingValue = (O) putInternal(key, value, true); return existingValue; } ConcurrentRadixTree(NodeFactory nodeFactory); }
ConcurrentRadixTree implements RadixTree<O>, PrettyPrintable, Serializable { @Override public O put(CharSequence key, O value) { @SuppressWarnings({"unchecked", "UnnecessaryLocalVariable"}) O existingValue = (O) putInternal(key, value, true); return existingValue; } ConcurrentRadixTree(NodeFactory nodeFactory); @Override O put(CharSequence key, O value); @Override O putIfAbsent(CharSequence key, O value); @Override O getValueForExactKey(CharSequence key); @Override Iterable<CharSequence> getKeysStartingWith(CharSequence prefix); @Override Iterable<O> getValuesForKeysStartingWith(CharSequence prefix); @Override Iterable<KeyValuePair<O>> getKeyValuePairsForKeysStartingWith(CharSequence prefix); @Override boolean remove(CharSequence key); @Override Iterable<CharSequence> getClosestKeys(CharSequence candidate); @Override Iterable<O> getValuesForClosestKeys(CharSequence candidate); @Override Iterable<KeyValuePair<O>> getKeyValuePairsForClosestKeys(CharSequence candidate); @Override int size(); @Override Node getNode(); }
ConcurrentRadixTree implements RadixTree<O>, PrettyPrintable, Serializable { @Override public O put(CharSequence key, O value) { @SuppressWarnings({"unchecked", "UnnecessaryLocalVariable"}) O existingValue = (O) putInternal(key, value, true); return existingValue; } ConcurrentRadixTree(NodeFactory nodeFactory); @Override O put(CharSequence key, O value); @Override O putIfAbsent(CharSequence key, O value); @Override O getValueForExactKey(CharSequence key); @Override Iterable<CharSequence> getKeysStartingWith(CharSequence prefix); @Override Iterable<O> getValuesForKeysStartingWith(CharSequence prefix); @Override Iterable<KeyValuePair<O>> getKeyValuePairsForKeysStartingWith(CharSequence prefix); @Override boolean remove(CharSequence key); @Override Iterable<CharSequence> getClosestKeys(CharSequence candidate); @Override Iterable<O> getValuesForClosestKeys(CharSequence candidate); @Override Iterable<KeyValuePair<O>> getKeyValuePairsForClosestKeys(CharSequence candidate); @Override int size(); @Override Node getNode();  }