test_class.file: core/src/test/java/org/wso2/msf4j/util/QueryStringDecoderUtilTest.java
test_class.identifier: QueryStringDecoderUtilTest
test_case.body: @Test
      public void testHashDos() throws Exception {
          StringBuilder buf = new StringBuilder();
          buf.append('?');
          for (int i = 0; i < 65536; i++) {
              buf.append('k');
              buf.append(i);
              buf.append("=v");
              buf.append(i);
              buf.append('&');
          }
          assertEquals(1024, new QueryStringDecoderUtil(buf.toString()).parameters().size());
      }
test_case.class_method_signature: QueryStringDecoderUtilTest.testHashDos()
test_case.full_signature: @Test public void testHashDos()
test_case.identifier: testHashDos
test_case.invocations: append append append append append append assertEquals size parameters toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testHashDos()
focal_class.declarator: DEFAULT_MAX_PARAMS = 1024
focal_class.modifier: private static final
focal_class.original_string: private static final int DEFAULT_MAX_PARAMS = 1024;
focal_class.type: int
focal_class.var_name: DEFAULT_MAX_PARAMS
focal_class.declarator: charset
focal_class.modifier: private final
focal_class.original_string: private final Charset charset;
focal_class.type: Charset
focal_class.var_name: charset
focal_class.declarator: uri
focal_class.modifier: private final
focal_class.original_string: private final String uri;
focal_class.type: String
focal_class.var_name: uri
focal_class.declarator: hasPath
focal_class.modifier: private final
focal_class.original_string: private final boolean hasPath;
focal_class.type: boolean
focal_class.var_name: hasPath
focal_class.declarator: maxParams
focal_class.modifier: private final
focal_class.original_string: private final int maxParams;
focal_class.type: int
focal_class.var_name: maxParams
focal_class.declarator: path
focal_class.modifier: private
focal_class.original_string: private String path;
focal_class.type: String
focal_class.var_name: path
focal_class.declarator: params
focal_class.modifier: private
focal_class.original_string: private Map<String, List<String>> params;
focal_class.type: Map<String, List<String>>
focal_class.var_name: params
focal_class.declarator: nParams
focal_class.modifier: private
focal_class.original_string: private int nParams;
focal_class.type: int
focal_class.var_name: nParams
focal_class.file: core/src/main/java/org/wso2/msf4j/util/QueryStringDecoderUtil.java
focal_class.identifier: QueryStringDecoderUtil
focal_class.class_method_signature: QueryStringDecoderUtil.QueryStringDecoderUtil(String uri)
focal_class.full_signature: public  QueryStringDecoderUtil(String uri)
focal_class.identifier: QueryStringDecoderUtil
focal_class.modifiers: public
focal_class.parameters: (String uri)
focal_class.signature:  QueryStringDecoderUtil(String uri)
focal_class.class_method_signature: QueryStringDecoderUtil.QueryStringDecoderUtil(String uri, boolean hasPath)
focal_class.full_signature: public  QueryStringDecoderUtil(String uri, boolean hasPath)
focal_class.identifier: QueryStringDecoderUtil
focal_class.modifiers: public
focal_class.parameters: (String uri, boolean hasPath)
focal_class.signature:  QueryStringDecoderUtil(String uri, boolean hasPath)
focal_class.class_method_signature: QueryStringDecoderUtil.QueryStringDecoderUtil(String uri, Charset charset)
focal_class.full_signature: public  QueryStringDecoderUtil(String uri, Charset charset)
focal_class.identifier: QueryStringDecoderUtil
focal_class.modifiers: public
focal_class.parameters: (String uri, Charset charset)
focal_class.signature:  QueryStringDecoderUtil(String uri, Charset charset)
focal_class.class_method_signature: QueryStringDecoderUtil.QueryStringDecoderUtil(String uri, Charset charset, boolean hasPath)
focal_class.full_signature: public  QueryStringDecoderUtil(String uri, Charset charset, boolean hasPath)
focal_class.identifier: QueryStringDecoderUtil
focal_class.modifiers: public
focal_class.parameters: (String uri, Charset charset, boolean hasPath)
focal_class.signature:  QueryStringDecoderUtil(String uri, Charset charset, boolean hasPath)
focal_class.class_method_signature: QueryStringDecoderUtil.QueryStringDecoderUtil(String uri, Charset charset, boolean hasPath, int maxParams)
focal_class.full_signature: public  QueryStringDecoderUtil(String uri, Charset charset, boolean hasPath, int maxParams)
focal_class.identifier: QueryStringDecoderUtil
focal_class.modifiers: public
focal_class.parameters: (String uri, Charset charset, boolean hasPath, int maxParams)
focal_class.signature:  QueryStringDecoderUtil(String uri, Charset charset, boolean hasPath, int maxParams)
focal_class.class_method_signature: QueryStringDecoderUtil.QueryStringDecoderUtil(URI uri)
focal_class.full_signature: public  QueryStringDecoderUtil(URI uri)
focal_class.identifier: QueryStringDecoderUtil
focal_class.modifiers: public
focal_class.parameters: (URI uri)
focal_class.signature:  QueryStringDecoderUtil(URI uri)
focal_class.class_method_signature: QueryStringDecoderUtil.QueryStringDecoderUtil(URI uri, Charset charset)
focal_class.full_signature: public  QueryStringDecoderUtil(URI uri, Charset charset)
focal_class.identifier: QueryStringDecoderUtil
focal_class.modifiers: public
focal_class.parameters: (URI uri, Charset charset)
focal_class.signature:  QueryStringDecoderUtil(URI uri, Charset charset)
focal_class.class_method_signature: QueryStringDecoderUtil.QueryStringDecoderUtil(URI uri, Charset charset, int maxParams)
focal_class.full_signature: public  QueryStringDecoderUtil(URI uri, Charset charset, int maxParams)
focal_class.identifier: QueryStringDecoderUtil
focal_class.modifiers: public
focal_class.parameters: (URI uri, Charset charset, int maxParams)
focal_class.signature:  QueryStringDecoderUtil(URI uri, Charset charset, int maxParams)
focal_class.class_method_signature: QueryStringDecoderUtil.uri()
focal_class.full_signature: public String uri()
focal_class.identifier: uri
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String uri()
focal_class.class_method_signature: QueryStringDecoderUtil.path()
focal_class.full_signature: public String path()
focal_class.identifier: path
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String path()
focal_class.class_method_signature: QueryStringDecoderUtil.parameters()
focal_class.full_signature: public Map<String, List<String>> parameters()
focal_class.identifier: parameters
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<String, List<String>>
focal_class.signature: Map<String, List<String>> parameters()
focal_class.class_method_signature: QueryStringDecoderUtil.decodeParams(String s)
focal_class.full_signature: private void decodeParams(String s)
focal_class.identifier: decodeParams
focal_class.modifiers: private
focal_class.parameters: (String s)
focal_class.return: void
focal_class.signature: void decodeParams(String s)
focal_class.class_method_signature: QueryStringDecoderUtil.addParam(Map<String, List<String>> params, String name, String value)
focal_class.full_signature: private boolean addParam(Map<String, List<String>> params, String name, String value)
focal_class.identifier: addParam
focal_class.modifiers: private
focal_class.parameters: (Map<String, List<String>> params, String name, String value)
focal_class.return: boolean
focal_class.signature: boolean addParam(Map<String, List<String>> params, String name, String value)
focal_class.class_method_signature: QueryStringDecoderUtil.decodeComponent(final String s)
focal_class.full_signature: public static String decodeComponent(final String s)
focal_class.identifier: decodeComponent
focal_class.modifiers: public static
focal_class.parameters: (final String s)
focal_class.return: String
focal_class.signature: String decodeComponent(final String s)
focal_class.class_method_signature: QueryStringDecoderUtil.decodeComponent(final String s, final Charset charset)
focal_class.full_signature: public static String decodeComponent(final String s, final Charset charset)
focal_class.identifier: decodeComponent
focal_class.modifiers: public static
focal_class.parameters: (final String s, final Charset charset)
focal_class.return: String
focal_class.signature: String decodeComponent(final String s, final Charset charset)
focal_class.class_method_signature: QueryStringDecoderUtil.decodeHexNibble(final char c)
focal_class.full_signature: private static char decodeHexNibble(final char c)
focal_class.identifier: decodeHexNibble
focal_class.modifiers: private static
focal_class.parameters: (final char c)
focal_class.return: char
focal_class.signature: char decodeHexNibble(final char c)
focal_method.body: public Map<String, List<String>> parameters() {
          if (params == null) {
              if (hasPath) {
                  int pathLength = path().length();
                  if (uri.length() == pathLength) {
                      return Collections.emptyMap();
                  }
                  decodeParams(uri.substring(pathLength + 1));
              } else {
                  if (uri.isEmpty()) {
                      return Collections.emptyMap();
                  }
                  decodeParams(uri);
              }
          }
          return params;
      }
focal_method.class_method_signature: QueryStringDecoderUtil.parameters()
focal_method.full_signature: public Map<String, List<String>> parameters()
focal_method.identifier: parameters
focal_method.invocations: length path length emptyMap decodeParams substring isEmpty emptyMap decodeParams
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Map<String, List<String>>
focal_method.signature: Map<String, List<String>> parameters()