forked from aws/aws-sdk-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStringUtils.java
More file actions
168 lines (143 loc) · 4.88 KB
/
StringUtils.java
File metadata and controls
168 lines (143 loc) · 4.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/*
* Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.util;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.util.Date;
import org.apache.commons.codec.binary.Base64;
/**
* Utilities for converting objects to strings.
*/
public class StringUtils {
/** Shared date utils for converting dates to strings */
private static final DateUtils dateUtils = new DateUtils();
public static Integer toInteger(StringBuilder value) {
return Integer.parseInt(value.toString());
}
public static String toString(StringBuilder value) {
return value.toString();
}
public static Boolean toBoolean(StringBuilder value) {
return Boolean.getBoolean(value.toString());
}
public static String fromInteger(Integer value) {
return Integer.toString(value);
}
public static String fromLong(Long value) {
return Long.toString(value);
}
public static String fromString(String value) {
return value;
}
public static String fromBoolean(Boolean value) {
return Boolean.toString(value);
}
public static String fromBigInteger(BigInteger value) {
return value.toString();
}
public static String fromBigDecimal(BigDecimal value) {
return value.toString();
}
public static BigInteger toBigInteger(String s) {
return new BigInteger(s);
}
public static BigDecimal toBigDecimal(String s) {
return new BigDecimal(s);
}
public static String fromFloat(Float value) {
return Float.toString(value);
}
/**
* Converts the specified date to an ISO 8601 timestamp string and returns
* it.
*
* @param value
* The date to format as an ISO 8601 timestamp string.
*
* @return An ISO 8601 timestamp string created from the specified date.
*/
public static String fromDate(Date value) {
return dateUtils.formatIso8601Date(value);
}
/**
* Returns the string representation of the specified double.
*
* @param d
* The double to represent as a string.
*
* @return The string representation of the specified double.
*/
public static String fromDouble(Double d) {
return Double.toString(d);
}
/**
* Returns the string representation of the specified Byte.
*
* @param b
* The Byte to represent as a string.
*
* @return The string representation of the specified Byte.
*/
public static String fromByte(Byte b) {
return Byte.toString(b);
}
/**
* Base64 encodes the data in the specified byte buffer and returns it as a
* base64 encoded string.
*
* @param byteBuffer
* The data to base64 encode and return as a string.
*
* @return The base64 encoded contents of the specified byte buffer.
*/
public static String fromByteBuffer(ByteBuffer byteBuffer) {
byte[] encodedBytes = null;
if (byteBuffer.hasArray()) {
encodedBytes = Base64.encodeBase64(byteBuffer.array());
} else {
byte[] binaryData = new byte[byteBuffer.limit()];
byteBuffer.get(binaryData);
encodedBytes = Base64.encodeBase64(binaryData);
}
return new String(encodedBytes);
}
public static String replace( String originalString, String partToMatch, String replacement ) {
StringBuffer buffer = new StringBuffer( originalString.length() );
buffer.append( originalString );
int indexOf = buffer.indexOf( partToMatch );
while ( indexOf != -1 ) {
buffer = buffer.replace( indexOf, indexOf + partToMatch.length(), replacement );
indexOf = buffer.indexOf( partToMatch );
}
return buffer.toString();
}
/**
* Joins the strings in parts with joiner between each string
* @param joiner the string to insert between the strings in parts
* @param parts the parts to join
* @return
*/
public static String join(String joiner, String... parts) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < parts.length; i++) {
builder.append(parts[i]);
if (i < parts.length - 1) {
builder.append(joiner);
}
}
return builder.toString();
}
}