1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.apache.commons.lang3.builder;
18
19 import java.lang.reflect.Array;
20 import java.util.Collection;
21 import java.util.Map;
22
23 /**
24 * Works with {@link ToStringBuilder} to create a {@code toString}.
25 *
26 * <p>This class is intended to be used as a singleton.
27 * There is no need to instantiate a new style each time.
28 * Simply instantiate the class once, customize the values as required, and
29 * store the result in a public static final variable for the rest of the
30 * program to access.</p>
31 *
32 * @since 1.0
33 */
34 public class StandardToStringStyle extends ToStringStyle {
35
36 /**
37 * Required for serialization support.
38 *
39 * @see java.io.Serializable
40 */
41 private static final long serialVersionUID = 1L;
42
43 /**
44 * Constructs a new instance.
45 */
46 public StandardToStringStyle() {
47 }
48
49 /**
50 * Gets the array end text.
51 *
52 * @return the current array end text
53 */
54 @Override
55 public String getArrayEnd() {
56 return super.getArrayEnd();
57 }
58
59 /**
60 * Gets the array separator text.
61 *
62 * @return the current array separator text
63 */
64 @Override
65 public String getArraySeparator() {
66 return super.getArraySeparator();
67 }
68
69 /**
70 * Gets the array start text.
71 *
72 * @return the current array start text
73 */
74 @Override
75 public String getArrayStart() {
76 return super.getArrayStart();
77 }
78
79 /**
80 * Gets the content end text.
81 *
82 * @return the current content end text
83 */
84 @Override
85 public String getContentEnd() {
86 return super.getContentEnd();
87 }
88
89 /**
90 * Gets the content start text.
91 *
92 * @return the current content start text
93 */
94 @Override
95 public String getContentStart() {
96 return super.getContentStart();
97 }
98
99 /**
100 * Gets the field name value separator text.
101 *
102 * @return the current field name value separator text
103 */
104 @Override
105 public String getFieldNameValueSeparator() {
106 return super.getFieldNameValueSeparator();
107 }
108
109 /**
110 * Gets the field separator text.
111 *
112 * @return the current field separator text
113 */
114 @Override
115 public String getFieldSeparator() {
116 return super.getFieldSeparator();
117 }
118
119 /**
120 * Gets the text to output when {@code null} found.
121 *
122 * @return the current text to output when {@code null} found
123 */
124 @Override
125 public String getNullText() {
126 return super.getNullText();
127 }
128
129 /**
130 * Gets the end text to output when a {@link Collection},
131 * {@link Map} or {@link Array} size is output.
132 *
133 * <p>This is output after the size value.</p>
134 *
135 * @return the current end of size text
136 */
137 @Override
138 public String getSizeEndText() {
139 return super.getSizeEndText();
140 }
141
142 /**
143 * Gets the text to output when a {@link Collection},
144 * {@link Map} or {@link Array} size is output.
145 *
146 * <p>This is output before the size value.</p>
147 *
148 * @return the current start of size text
149 */
150 @Override
151 public String getSizeStartText() {
152 return super.getSizeStartText();
153 }
154
155 /**
156 * Gets the end text to output when an {@link Object} is
157 * output in summary mode.
158 *
159 * <p>This is output after the size value.</p>
160 *
161 * @return the current end of summary text
162 */
163 @Override
164 public String getSummaryObjectEndText() {
165 return super.getSummaryObjectEndText();
166 }
167
168 /**
169 * Gets the start text to output when an {@link Object} is
170 * output in summary mode.
171 *
172 * <p>This is output before the size value.</p>
173 *
174 * @return the current start of summary text
175 */
176 @Override
177 public String getSummaryObjectStartText() {
178 return super.getSummaryObjectStartText();
179 }
180
181 /**
182 * Gets whether to output array content detail.
183 *
184 * @return the current array content detail setting
185 */
186 @Override
187 public boolean isArrayContentDetail() {
188 return super.isArrayContentDetail();
189 }
190
191 /**
192 * Gets whether to use full detail when the caller doesn't
193 * specify.
194 *
195 * @return the current defaultFullDetail flag
196 */
197 @Override
198 public boolean isDefaultFullDetail() {
199 return super.isDefaultFullDetail();
200 }
201
202 /**
203 * Gets whether the field separator should be added at the end
204 * of each buffer.
205 *
206 * @return fieldSeparatorAtEnd flag
207 * @since 2.0
208 */
209 @Override
210 public boolean isFieldSeparatorAtEnd() {
211 return super.isFieldSeparatorAtEnd();
212 }
213
214 /**
215 * Gets whether the field separator should be added at the start
216 * of each buffer.
217 *
218 * @return the fieldSeparatorAtStart flag
219 * @since 2.0
220 */
221 @Override
222 public boolean isFieldSeparatorAtStart() {
223 return super.isFieldSeparatorAtStart();
224 }
225
226 /**
227 * Gets whether to use the class name.
228 *
229 * @return the current useClassName flag
230 */
231 @Override
232 public boolean isUseClassName() {
233 return super.isUseClassName();
234 }
235
236 /**
237 * Gets whether to use the field names passed in.
238 *
239 * @return the current useFieldNames flag
240 */
241 @Override
242 public boolean isUseFieldNames() {
243 return super.isUseFieldNames();
244 }
245
246 /**
247 * Gets whether to use the identity hash code.
248 * @return the current useIdentityHashCode flag
249 */
250 @Override
251 public boolean isUseIdentityHashCode() {
252 return super.isUseIdentityHashCode();
253 }
254
255 /**
256 * Gets whether to output short or long class names.
257 *
258 * @return the current useShortClassName flag
259 * @since 2.0
260 */
261 @Override
262 public boolean isUseShortClassName() {
263 return super.isUseShortClassName();
264 }
265
266 /**
267 * Sets whether to output array content detail.
268 *
269 * @param arrayContentDetail the new arrayContentDetail flag
270 */
271 @Override
272 public void setArrayContentDetail(final boolean arrayContentDetail) {
273 super.setArrayContentDetail(arrayContentDetail);
274 }
275
276 /**
277 * Sets the array end text.
278 *
279 * <p>{@code null} is accepted, but will be converted
280 * to an empty String.</p>
281 *
282 * @param arrayEnd the new array end text
283 */
284 @Override
285 public void setArrayEnd(final String arrayEnd) {
286 super.setArrayEnd(arrayEnd);
287 }
288
289 /**
290 * Sets the array separator text.
291 *
292 * <p>{@code null} is accepted, but will be converted
293 * to an empty String.</p>
294 *
295 * @param arraySeparator the new array separator text
296 */
297 @Override
298 public void setArraySeparator(final String arraySeparator) {
299 super.setArraySeparator(arraySeparator);
300 }
301
302 /**
303 * Sets the array start text.
304 *
305 * <p>{@code null} is accepted, but will be converted
306 * to an empty String.</p>
307 *
308 * @param arrayStart the new array start text
309 */
310 @Override
311 public void setArrayStart(final String arrayStart) {
312 super.setArrayStart(arrayStart);
313 }
314
315 /**
316 * Sets the content end text.
317 *
318 * <p>{@code null} is accepted, but will be converted
319 * to an empty String.</p>
320 *
321 * @param contentEnd the new content end text
322 */
323 @Override
324 public void setContentEnd(final String contentEnd) {
325 super.setContentEnd(contentEnd);
326 }
327
328 /**
329 * Sets the content start text.
330 *
331 * <p>{@code null} is accepted, but will be converted
332 * to an empty String.</p>
333 *
334 * @param contentStart the new content start text
335 */
336 @Override
337 public void setContentStart(final String contentStart) {
338 super.setContentStart(contentStart);
339 }
340
341 /**
342 * Sets whether to use full detail when the caller doesn't
343 * specify.
344 *
345 * @param defaultFullDetail the new defaultFullDetail flag
346 */
347 @Override
348 public void setDefaultFullDetail(final boolean defaultFullDetail) {
349 super.setDefaultFullDetail(defaultFullDetail);
350 }
351
352 /**
353 * Sets the field name value separator text.
354 *
355 * <p>{@code null} is accepted, but will be converted
356 * to an empty String.</p>
357 *
358 * @param fieldNameValueSeparator the new field name value separator text
359 */
360 @Override
361 public void setFieldNameValueSeparator(final String fieldNameValueSeparator) {
362 super.setFieldNameValueSeparator(fieldNameValueSeparator);
363 }
364
365 /**
366 * Sets the field separator text.
367 *
368 * <p>{@code null} is accepted, but will be converted
369 * to an empty String.</p>
370 *
371 * @param fieldSeparator the new field separator text
372 */
373 @Override
374 public void setFieldSeparator(final String fieldSeparator) {
375 super.setFieldSeparator(fieldSeparator);
376 }
377
378 /**
379 * Sets whether the field separator should be added at the end
380 * of each buffer.
381 *
382 * @param fieldSeparatorAtEnd the fieldSeparatorAtEnd flag
383 * @since 2.0
384 */
385 @Override
386 public void setFieldSeparatorAtEnd(final boolean fieldSeparatorAtEnd) {
387 super.setFieldSeparatorAtEnd(fieldSeparatorAtEnd);
388 }
389
390 /**
391 * Sets whether the field separator should be added at the start
392 * of each buffer.
393 *
394 * @param fieldSeparatorAtStart the fieldSeparatorAtStart flag
395 * @since 2.0
396 */
397 @Override
398 public void setFieldSeparatorAtStart(final boolean fieldSeparatorAtStart) {
399 super.setFieldSeparatorAtStart(fieldSeparatorAtStart);
400 }
401
402 /**
403 * Sets the text to output when {@code null} found.
404 *
405 * <p>{@code null} is accepted, but will be converted
406 * to an empty String.</p>
407 *
408 * @param nullText the new text to output when {@code null} found
409 */
410 @Override
411 public void setNullText(final String nullText) {
412 super.setNullText(nullText);
413 }
414
415 /**
416 * Sets the end text to output when a {@link Collection},
417 * {@link Map} or {@link Array} size is output.
418 *
419 * <p>This is output after the size value.</p>
420 *
421 * <p>{@code null} is accepted, but will be converted
422 * to an empty String.</p>
423 *
424 * @param sizeEndText the new end of size text
425 */
426 @Override
427 public void setSizeEndText(final String sizeEndText) {
428 super.setSizeEndText(sizeEndText);
429 }
430
431 /**
432 * Sets the start text to output when a {@link Collection},
433 * {@link Map} or {@link Array} size is output.
434 *
435 * <p>This is output before the size value.</p>
436 *
437 * <p>{@code null} is accepted, but will be converted to
438 * an empty String.</p>
439 *
440 * @param sizeStartText the new start of size text
441 */
442 @Override
443 public void setSizeStartText(final String sizeStartText) {
444 super.setSizeStartText(sizeStartText);
445 }
446
447 /**
448 * Sets the end text to output when an {@link Object} is
449 * output in summary mode.
450 *
451 * <p>This is output after the size value.</p>
452 *
453 * <p>{@code null} is accepted, but will be converted to
454 * an empty String.</p>
455 *
456 * @param summaryObjectEndText the new end of summary text
457 */
458 @Override
459 public void setSummaryObjectEndText(final String summaryObjectEndText) {
460 super.setSummaryObjectEndText(summaryObjectEndText);
461 }
462
463 /**
464 * Sets the start text to output when an {@link Object} is
465 * output in summary mode.
466 *
467 * <p>This is output before the size value.</p>
468 *
469 * <p>{@code null} is accepted, but will be converted to
470 * an empty String.</p>
471 *
472 * @param summaryObjectStartText the new start of summary text
473 */
474 @Override
475 public void setSummaryObjectStartText(final String summaryObjectStartText) {
476 super.setSummaryObjectStartText(summaryObjectStartText);
477 }
478
479 /**
480 * Sets whether to use the class name.
481 *
482 * @param useClassName the new useClassName flag
483 */
484 @Override
485 public void setUseClassName(final boolean useClassName) {
486 super.setUseClassName(useClassName);
487 }
488
489 /**
490 * Sets whether to use the field names passed in.
491 *
492 * @param useFieldNames the new useFieldNames flag
493 */
494 @Override
495 public void setUseFieldNames(final boolean useFieldNames) {
496 super.setUseFieldNames(useFieldNames);
497 }
498
499 /**
500 * Sets whether to use the identity hash code.
501 *
502 * @param useIdentityHashCode the new useIdentityHashCode flag
503 */
504 @Override
505 public void setUseIdentityHashCode(final boolean useIdentityHashCode) {
506 super.setUseIdentityHashCode(useIdentityHashCode);
507 }
508
509 /**
510 * Sets whether to output short or long class names.
511 *
512 * @param useShortClassName the new useShortClassName flag
513 * @since 2.0
514 */
515 @Override
516 public void setUseShortClassName(final boolean useShortClassName) {
517 super.setUseShortClassName(useShortClassName);
518 }
519
520 }