/** * Parses a serialized trie representation of a set of reversed TLDs into an immutable set * of TLDs. */ static ImmutableSet<String> parseTrie(CharSequence encoded) { ImmutableSet.Builder<String> builder = ImmutableSet.builder(); int encodedLen = encoded.length(); int idx = 0; while (idx < encodedLen) { idx += doParseTrieToBuilder( Lists.<CharSequence>newLinkedList(), encoded.subSequence(idx, encodedLen), builder); } return builder.build(); }
stack.add(0, reverse(encoded.subSequence(0, idx))); while (idx < encodedLen) { idx += doParseTrieToBuilder(stack, encoded.subSequence(idx, encodedLen), builder); if (encoded.charAt(idx) == '?') {
/** * Reverses a character sequence. This is borrowed from * https://code.google.com/p/google-web-toolkit/source/detail?r=11591# * and can be replaced with a simple {@code StringBuffer#reverse} once GWT 2.6 is available. */ private static CharSequence reverse(CharSequence s) { int length = s.length(); if (length <= 1) { return s; } char[] buffer = new char[length]; buffer[0] = s.charAt(length - 1); for (int i = 1; i < length; i++) { buffer[i] = s.charAt(length - 1 - i); if (Character.isSurrogatePair(buffer[i], buffer[i - 1])) { swap(buffer, i - 1, i); } } return new String(buffer); }
stack.add(0, reverse(encoded.subSequence(0, idx))); while (idx < encodedLen) { idx += doParseTrieToBuilder(stack, encoded.subSequence(idx, encodedLen), builder); if (encoded.charAt(idx) == '?') {
/** * Reverses a character sequence. This is borrowed from * https://code.google.com/p/google-web-toolkit/source/detail?r=11591# * and can be replaced with a simple {@code StringBuffer#reverse} once GWT 2.6 is available. */ private static CharSequence reverse(CharSequence s) { int length = s.length(); if (length <= 1) { return s; } char[] buffer = new char[length]; buffer[0] = s.charAt(length - 1); for (int i = 1; i < length; i++) { buffer[i] = s.charAt(length - 1 - i); if (Character.isSurrogatePair(buffer[i], buffer[i - 1])) { swap(buffer, i - 1, i); } } return new String(buffer); }
stack.add(0, reverse(encoded.subSequence(0, idx))); while (idx < encodedLen) { idx += doParseTrieToBuilder(stack, encoded.subSequence(idx, encodedLen), builder); if (encoded.charAt(idx) == '?') {
/** * Parses a serialized trie representation of a set of reversed TLDs into an immutable set * of TLDs. */ static ImmutableSet<String> parseTrie(CharSequence encoded) { ImmutableSet.Builder<String> builder = ImmutableSet.builder(); int encodedLen = encoded.length(); int idx = 0; while (idx < encodedLen) { idx += doParseTrieToBuilder( Lists.<CharSequence>newLinkedList(), encoded.subSequence(idx, encodedLen), builder); } return builder.build(); }
/** * Reverses a character sequence. This is borrowed from * https://code.google.com/p/google-web-toolkit/source/detail?r=11591# * and can be replaced with a simple {@code StringBuffer#reverse} once GWT 2.6 is available. */ private static CharSequence reverse(CharSequence s) { int length = s.length(); if (length <= 1) { return s; } char[] buffer = new char[length]; buffer[0] = s.charAt(length - 1); for (int i = 1; i < length; i++) { buffer[i] = s.charAt(length - 1 - i); if (Character.isSurrogatePair(buffer[i], buffer[i - 1])) { swap(buffer, i - 1, i); } } return new String(buffer); }
stack.add(0, reverse(encoded.subSequence(0, idx))); while (idx < encodedLen) { idx += doParseTrieToBuilder(stack, encoded.subSequence(idx, encodedLen), builder); if (encoded.charAt(idx) == '?') {
/** * Parses a serialized trie representation of a set of reversed TLDs into an immutable set * of TLDs. */ static ImmutableSet<String> parseTrie(CharSequence encoded) { ImmutableSet.Builder<String> builder = ImmutableSet.builder(); int encodedLen = encoded.length(); int idx = 0; while (idx < encodedLen) { idx += doParseTrieToBuilder( Lists.<CharSequence>newLinkedList(), encoded.subSequence(idx, encodedLen), builder); } return builder.build(); }
/** * Reverses a character sequence. This is borrowed from * https://code.google.com/p/google-web-toolkit/source/detail?r=11591# * and can be replaced with a simple {@code StringBuffer#reverse} once GWT 2.6 is available. */ private static CharSequence reverse(CharSequence s) { int length = s.length(); if (length <= 1) { return s; } char[] buffer = new char[length]; buffer[0] = s.charAt(length - 1); for (int i = 1; i < length; i++) { buffer[i] = s.charAt(length - 1 - i); if (Character.isSurrogatePair(buffer[i], buffer[i - 1])) { swap(buffer, i - 1, i); } } return new String(buffer); }
/** * Parses a serialized trie representation of a set of reversed TLDs into an immutable set * of TLDs. */ static ImmutableSet<String> parseTrie(CharSequence encoded) { ImmutableSet.Builder<String> builder = ImmutableSet.builder(); int encodedLen = encoded.length(); int idx = 0; while (idx < encodedLen) { idx += doParseTrieToBuilder( Lists.<CharSequence>newLinkedList(), encoded.subSequence(idx, encodedLen), builder); } return builder.build(); }