annotate artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/StringUtils.java @ 498:1f1f14c932ed 3.0.14

Framework: Added StringUtils.indexOf(needle, haystack) method.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 08 Aug 2013 17:01:58 +0200
parents 415df0fc4fa1
children 584591f8203c
rev   line source
301
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 /*
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2 * Copyright (c) 2010 by Intevation GmbH
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 *
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4 * This program is free software under the LGPL (>=v2.1)
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 * Read the file LGPL.txt coming with the software for details
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
7 */
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8
475
415df0fc4fa1 Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents: 472
diff changeset
9 package org.dive4elements.artifacts.common.utils;
301
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11 import java.io.UnsupportedEncodingException;
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 import java.util.UUID;
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15 import org.apache.commons.codec.DecoderException;
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 import org.apache.commons.codec.binary.Hex;
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 import org.apache.log4j.Logger;
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21 /**
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 * Commonly used string functions.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 *
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 */
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 public final class StringUtils
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 private static Logger logger = Logger.getLogger(StringUtils.class);
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30 /**
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 * Generated a random UUIDv4 in form of a string.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 * @return the UUID
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 */
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 public static final String newUUID() {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 return UUID.randomUUID().toString();
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 /**
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 * Checks if a given string is a valid UUID.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40 * @param uuid The string to test.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 * @return true if the string is a valid UUID else false.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 */
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 public static final boolean checkUUID(String uuid) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 try {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 UUID.fromString(uuid);
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47 catch (IllegalArgumentException iae) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 logger.warn(iae.getLocalizedMessage());
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49 return false;
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 return true;
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 /**
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 * Returns the UTF-8 byte array representation of a given string.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 * @param s The string to be transformed.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 * @return The byte array representation.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 */
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 public static final byte [] getUTF8Bytes(String s) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 try {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 return s.getBytes("UTF-8");
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 catch (UnsupportedEncodingException usee) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 logger.error(usee.getLocalizedMessage(), usee);
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 return s.getBytes();
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 /**
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 * Tries to convert a Base64 encoded string into the
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71 * corresponing byte array.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72 * @param s The Base64 encoded string
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73 * @return The byte array representation or null if
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
74 * an decoding error occurs.
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
75 */
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
76 public static final byte [] decodeHex(String s) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77 try {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
78 return Hex.decodeHex(s.toCharArray());
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
79 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
80 catch (DecoderException de) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
81 return null;
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
82 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
83 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
84
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
85 public static final String repeat(String s, int count, String sep) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
86 if (count <= 0) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
87 return "";
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
88 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
89 StringBuilder sb = new StringBuilder(s);
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
90 for (--count; count > 0; --count) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
91 sb.append(sep).append(s);
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
92 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
93 return sb.toString();
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
94 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
95
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
96 public static final String repeat(char c, int count, char sep) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
97 if (count <= 0) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
98 return "";
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
99 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
100 StringBuilder sb = new StringBuilder(2*count-1).append(c);
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
101 for (--count; count > 0; --count) {
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
102 sb.append(sep).append(c);
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
103 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
104 return sb.toString();
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
105 }
342
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
106
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
107 public static final String [] toUpperCase(String [] s) {
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
108 if (s == null) {
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
109 return null;
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
110 }
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
111 String [] d = new String[s.length];
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
112 for (int i = 0; i < s.length; ++i) {
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
113 if (s[i] != null) {
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
114 d[i] = s[i].toUpperCase();
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
115 }
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
116 }
9a85e0ef6e02 StringUtils: Added static method to convert an array of string to their uppercase counterparts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 301
diff changeset
117 return d;
394
c40729bfe06d Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 376
diff changeset
118 }
376
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
119
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
120 public static String join(String sep, String [] strings) {
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
121 StringBuilder sb = new StringBuilder();
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
122 for (int i = 0; i < strings.length; ++i) {
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
123 if (i > 0) sb.append(sep);
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
124 sb.append(strings[i]);
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
125 }
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
126 return sb.toString();
87c0393749f0 StringUtils: Added static method to join strings with a separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 342
diff changeset
127 }
397
f2943ecd475f StringUtils: added contains(needle, haystack) method.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 394
diff changeset
128
401
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
129 public static final String [] join(String [] a, String [] b) {
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
130 if (a == null && b == null) return null;
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
131 if (a == null) return b;
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
132 if (b == null) return a;
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
133 String [] dst = new String[a.length + b.length];
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
134 System.arraycopy(a, 0, dst, 0, a.length);
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
135 System.arraycopy(b, 0, dst, a.length, b.length);
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
136 return dst;
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
137 }
d75b7d19a3df StringUtils: Added method to join two String arrays.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 397
diff changeset
138
498
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
139 public static final int indexOf(String needle, String [] haystack) {
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
140 for (int i = 0; i < haystack.length; ++i) {
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
141 if (needle.equals(haystack[i])) {
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
142 return i;
397
f2943ecd475f StringUtils: added contains(needle, haystack) method.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 394
diff changeset
143 }
f2943ecd475f StringUtils: added contains(needle, haystack) method.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 394
diff changeset
144 }
498
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
145 return -1;
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
146 }
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
147
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
148 public static final boolean contains(String needle, String [] haystack) {
1f1f14c932ed Framework: Added StringUtils.indexOf(needle, haystack) method.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 475
diff changeset
149 return indexOf(needle, haystack) != -1;
397
f2943ecd475f StringUtils: added contains(needle, haystack) method.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 394
diff changeset
150 }
301
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
151 }
b0a949d3fe09 Moved StringUtils to common package. Added some Override annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
152 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org