11package javaxt .utils ;
2- import java .util .HashMap ;
3- import java .util .List ;
2+ import java .util .*;
43
54//******************************************************************************
65//** URL Class
1514
1615public class URL {
1716
18- private HashMap <String , List <String >> parameters ;
19- private HashMap <String , List <String >> extendedParameters ;
17+ private LinkedHashMap <String , List <String >> parameters ;
18+ private LinkedHashMap <String , List <String >> extendedParameters ;
2019 private String protocol ;
2120 private String host ;
2221 private Integer port ;
@@ -41,8 +40,8 @@ public URL(java.net.URL url){
4140 public URL (String url ){
4241
4342 url = url .trim ();
44- parameters = new HashMap < String , List < String > >();
45- extendedParameters = new HashMap < String , List < String > >();
43+ parameters = new LinkedHashMap < >();
44+ extendedParameters = new LinkedHashMap < >();
4645
4746
4847 if (url .contains ("://" )){
@@ -116,11 +115,11 @@ public boolean exists(){
116115 //**************************************************************************
117116 /** Used to parse a url query string and create a list of name/value pairs.
118117 */
119- public static HashMap <String , List <String >> parseQueryString (String query ){
118+ public static LinkedHashMap <String , List <String >> parseQueryString (String query ){
120119
121120
122121 //Create an empty hashmap
123- HashMap <String , List <String >> parameters = new HashMap < String , List < String > >();
122+ LinkedHashMap <String , List <String >> parameters = new LinkedHashMap < >();
124123 if (query ==null ) return parameters ;
125124
126125 query = query .trim ();
@@ -148,7 +147,7 @@ public static HashMap<String, List<String>> parseQueryString(String query){
148147 String value = decode (word .substring (x +1 ));
149148
150149 List <String > values = getParameter (key , parameters );
151- if (values ==null ) values = new java . util . LinkedList <String >();
150+ if (values ==null ) values = new LinkedList <>();
152151 values .add (value );
153152 setParameter (key , values , parameters );
154153 }
@@ -174,15 +173,15 @@ public static HashMap<String, List<String>> parseQueryString(String query){
174173 /** Used to parse a JDBC parameter strings and return a list of name/value
175174 * pairs.
176175 */
177- public static HashMap <String , List <String >> parseJDBCParams (String params ){
178- HashMap <String , List <String >> parameters = new HashMap < String , List < String > >();
176+ public static LinkedHashMap <String , List <String >> parseJDBCParams (String params ){
177+ LinkedHashMap <String , List <String >> parameters = new LinkedHashMap < >();
179178 final String [] pairs = params .split (";" );
180179 for (String pair : pairs ) {
181180 int idx = pair .indexOf ("=" );
182181 String key = idx > 0 ? decode (pair .substring (0 , idx )) : pair ;
183182 String value = idx > 0 && pair .length () > idx + 1 ? decode (pair .substring (idx + 1 )) : null ;
184183
185- if (!parameters .containsKey (key )) parameters .put (key , new java . util . LinkedList <String >());
184+ if (!parameters .containsKey (key )) parameters .put (key , new LinkedList <>());
186185 parameters .get (key ).add (value );
187186 }
188187 return parameters ;
@@ -264,7 +263,7 @@ public void setParameter(String key, String value, boolean append){
264263 key = key .toLowerCase ();
265264 if (append ){
266265 List <String > values = getParameter (key , parameters );
267- java . util . Iterator <String > it = values .iterator ();
266+ Iterator <String > it = values .iterator ();
268267 while (it .hasNext ()){
269268 if (it .next ().equalsIgnoreCase (value )){
270269 append = false ;
@@ -279,7 +278,7 @@ public void setParameter(String key, String value, boolean append){
279278 }
280279 else {
281280 if (value !=null ){
282- List <String > values = new java . util . LinkedList <String >();
281+ List <String > values = new LinkedList <>();
283282 values .add (value );
284283 setParameter (key , values , parameters );
285284 }
@@ -361,7 +360,7 @@ public String getParameter(String[] keys){
361360 //**************************************************************************
362361 /** Returns a list of parameters found in query string.
363362 */
364- public HashMap <String , List <String >> getParameters (){
363+ public LinkedHashMap <String , List <String >> getParameters (){
365364 return parameters ;
366365 }
367366
@@ -372,7 +371,7 @@ public HashMap<String, List<String>> getParameters(){
372371 /** Returns a list of extended parameters (e.g. jdbc params) that are not
373372 * part of a standard url
374373 */
375- public HashMap <String , List <String >> getExtendedParameters (){
374+ public LinkedHashMap <String , List <String >> getExtendedParameters (){
376375 return extendedParameters ;
377376 }
378377
@@ -401,7 +400,7 @@ public String removeParameter(String key){
401400 public static List <String > getParameter (String key , HashMap <String , List <String >> parameters ){
402401 List <String > values = parameters .get (key );
403402 if (values ==null ){
404- java . util . Iterator <String > it = parameters .keySet ().iterator ();
403+ Iterator <String > it = parameters .keySet ().iterator ();
405404 while (it .hasNext ()){
406405 String s = it .next ();
407406 if (s .equalsIgnoreCase (key )) return parameters .get (s );
@@ -411,7 +410,7 @@ public static List<String> getParameter(String key, HashMap<String, List<String>
411410 };
412411
413412 public static void setParameter (String key , List <String > values , HashMap <String , List <String >> parameters ){
414- java . util . Iterator <String > it = parameters .keySet ().iterator ();
413+ Iterator <String > it = parameters .keySet ().iterator ();
415414 while (it .hasNext ()){
416415 String s = it .next ();
417416 if (s .equalsIgnoreCase (key )){
@@ -425,7 +424,7 @@ public static void setParameter(String key, List<String> values, HashMap<String,
425424 public static List <String > removeParameter (String key , HashMap <String , List <String >> parameters ){
426425 List <String > values = parameters .remove (key );
427426 if (values ==null ){
428- java . util . Iterator <String > it = parameters .keySet ().iterator ();
427+ Iterator <String > it = parameters .keySet ().iterator ();
429428 while (it .hasNext ()){
430429 String s = it .next ();
431430 if (s .equalsIgnoreCase (key )) return parameters .remove (s );
@@ -507,8 +506,8 @@ public String getProtocol(){
507506 public String getQueryString (){
508507
509508 StringBuilder str = new StringBuilder ();
510- java . util . HashSet <String > keys = getKeys ();
511- java . util . Iterator <String > it = keys .iterator ();
509+ HashSet <String > keys = getKeys ();
510+ Iterator <String > it = keys .iterator ();
512511 while (it .hasNext ()){
513512 String key = it .next ();
514513 List <String > values = getParameter (key , parameters );
@@ -547,7 +546,7 @@ public String getQueryString(){
547546 */
548547 public void setQueryString (String query ){
549548 if (query ==null ){
550- parameters = new HashMap < String , List < String > >();
549+ parameters = new LinkedHashMap < >();
551550 }
552551 else {
553552 query = query .trim ();
@@ -564,9 +563,9 @@ public void setQueryString(String query){
564563 //**************************************************************************
565564 /** Returns a list of parameter names found in the query string.
566565 */
567- public java . util . HashSet <String > getKeys (){
568- java . util . HashSet <String > keys = new java . util . HashSet <String >();
569- java . util . Iterator <String > it = parameters .keySet ().iterator ();
566+ public HashSet <String > getKeys (){
567+ HashSet <String > keys = new HashSet <>();
568+ Iterator <String > it = parameters .keySet ().iterator ();
570569 while (it .hasNext ()){
571570 keys .add (it .next ());
572571 }
0 commit comments