1 package com.atlassian.pageobjects.elements.util;
2
3 import javax.annotation.Nullable;
4
5
6
7
8
9 public final class StringConcat
10 {
11 public static final int EXPECTED_ELEMENT_LENGTH = 8;
12
13 private StringConcat()
14 {
15 throw new AssertionError("Don't instantiate me");
16 }
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public static String asString(@Nullable Object... elements)
32 {
33
34 if (elements == null) {
35 return "";
36 }
37 int length = elements.length;
38 if (length == 0)
39 {
40 return "";
41 }
42 if (length == 1)
43 {
44 singleAsString(elements[0]);
45 }
46 StringBuilder answer = new StringBuilder(length * EXPECTED_ELEMENT_LENGTH);
47 for (Object elem : elements)
48 {
49 answer.append(singleAsString(elem));
50 }
51 return answer.toString();
52 }
53
54 private static String singleAsString(Object obj)
55 {
56 return obj != null ? obj.toString() : "null";
57 }
58 }