private static boolean[][] initEncodingTables() { boolean[][] tables = new boolean[Type.values().length][]; List<String> l = new ArrayList<String>(); l.addAll(Arrays.asList(SCHEME)); tables[Type.SCHEME.ordinal()] = initEncodingTable(l); l.clear(); l.addAll(Arrays.asList(UNRESERVED)); tables[Type.UNRESERVED.ordinal()] = initEncodingTable(l); l.addAll(Arrays.asList(SUB_DELIMS)); tables[Type.HOST.ordinal()] = initEncodingTable(l); tables[Type.PORT.ordinal()] = initEncodingTable(Arrays.asList("0-9")); l.add(":"); tables[Type.USER_INFO.ordinal()] = initEncodingTable(l); l.add("@"); tables[Type.AUTHORITY.ordinal()] = initEncodingTable(l); tables[Type.PATH_SEGMENT.ordinal()] = initEncodingTable(l); tables[Type.PATH_SEGMENT.ordinal()][';'] = false; tables[Type.MATRIX_PARAM.ordinal()] = tables[Type.PATH_SEGMENT.ordinal()].clone(); tables[Type.MATRIX_PARAM.ordinal()]['='] = false; l.add("/"); tables[Type.PATH.ordinal()] = initEncodingTable(l); l.add("?"); tables[Type.QUERY.ordinal()] = initEncodingTable(l); tables[Type.FRAGMENT.ordinal()] = tables[Type.QUERY.ordinal()]; tables[Type.QUERY_PARAM.ordinal()] = initEncodingTable(l); tables[Type.QUERY_PARAM.ordinal()]['='] = false; tables[Type.QUERY_PARAM.ordinal()]['+'] = false; tables[Type.QUERY_PARAM.ordinal()]['&'] = false; return tables; }
private static boolean[][] initEncodingTables() { boolean[][] tables = new boolean[Type.values().length][]; List<String> l = new ArrayList<String>(); l.addAll(Arrays.asList(SCHEME)); tables[Type.SCHEME.ordinal()] = initEncodingTable(l); l.clear(); l.addAll(Arrays.asList(UNRESERVED)); tables[Type.UNRESERVED.ordinal()] = initEncodingTable(l); l.addAll(Arrays.asList(SUB_DELIMS)); tables[Type.HOST.ordinal()] = initEncodingTable(l); tables[Type.PORT.ordinal()] = initEncodingTable(Arrays.asList("0-9")); l.add(":"); tables[Type.USER_INFO.ordinal()] = initEncodingTable(l); l.add("@"); tables[Type.AUTHORITY.ordinal()] = initEncodingTable(l); tables[Type.PATH_SEGMENT.ordinal()] = initEncodingTable(l); tables[Type.PATH_SEGMENT.ordinal()][';'] = false; tables[Type.MATRIX_PARAM.ordinal()] = tables[Type.PATH_SEGMENT.ordinal()].clone(); tables[Type.MATRIX_PARAM.ordinal()]['='] = false; l.add("/"); tables[Type.PATH.ordinal()] = initEncodingTable(l); l.add("?"); tables[Type.QUERY.ordinal()] = initEncodingTable(l); tables[Type.FRAGMENT.ordinal()] = tables[Type.QUERY.ordinal()]; tables[Type.QUERY_PARAM.ordinal()] = initEncodingTable(l); tables[Type.QUERY_PARAM.ordinal()]['='] = false; tables[Type.QUERY_PARAM.ordinal()]['+'] = false; tables[Type.QUERY_PARAM.ordinal()]['&'] = false; return tables; }