View Javadoc
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    *      http://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       * Constructor.
45       */
46      public StandardToStringStyle() {
47      }
48  
49      /**
50       * Gets whether to use the class name.
51       *
52       * @return the current useClassName flag
53       */
54      @Override
55      public boolean isUseClassName() {
56          return super.isUseClassName();
57      }
58  
59      /**
60       * Sets whether to use the class name.
61       *
62       * @param useClassName  the new useClassName flag
63       */
64      @Override
65      public void setUseClassName(final boolean useClassName) {
66          super.setUseClassName(useClassName);
67      }
68  
69      /**
70       * Gets whether to output short or long class names.
71       *
72       * @return the current useShortClassName flag
73       * @since 2.0
74       */
75      @Override
76      public boolean isUseShortClassName() {
77          return super.isUseShortClassName();
78      }
79  
80      /**
81       * Sets whether to output short or long class names.
82       *
83       * @param useShortClassName  the new useShortClassName flag
84       * @since 2.0
85       */
86      @Override
87      public void setUseShortClassName(final boolean useShortClassName) {
88          super.setUseShortClassName(useShortClassName);
89      }
90  
91      /**
92       * Gets whether to use the identity hash code.
93       * @return the current useIdentityHashCode flag
94       */
95      @Override
96      public boolean isUseIdentityHashCode() {
97          return super.isUseIdentityHashCode();
98      }
99  
100     /**
101      * Sets whether to use the identity hash code.
102      *
103      * @param useIdentityHashCode  the new useIdentityHashCode flag
104      */
105     @Override
106     public void setUseIdentityHashCode(final boolean useIdentityHashCode) {
107         super.setUseIdentityHashCode(useIdentityHashCode);
108     }
109 
110     /**
111      * Gets whether to use the field names passed in.
112      *
113      * @return the current useFieldNames flag
114      */
115     @Override
116     public boolean isUseFieldNames() {
117         return super.isUseFieldNames();
118     }
119 
120     /**
121      * Sets whether to use the field names passed in.
122      *
123      * @param useFieldNames  the new useFieldNames flag
124      */
125     @Override
126     public void setUseFieldNames(final boolean useFieldNames) {
127         super.setUseFieldNames(useFieldNames);
128     }
129 
130     /**
131      * Gets whether to use full detail when the caller doesn't
132      * specify.
133      *
134      * @return the current defaultFullDetail flag
135      */
136     @Override
137     public boolean isDefaultFullDetail() {
138         return super.isDefaultFullDetail();
139     }
140 
141     /**
142      * Sets whether to use full detail when the caller doesn't
143      * specify.
144      *
145      * @param defaultFullDetail  the new defaultFullDetail flag
146      */
147     @Override
148     public void setDefaultFullDetail(final boolean defaultFullDetail) {
149         super.setDefaultFullDetail(defaultFullDetail);
150     }
151 
152     /**
153      * Gets whether to output array content detail.
154      *
155      * @return the current array content detail setting
156      */
157     @Override
158     public boolean isArrayContentDetail() {
159         return super.isArrayContentDetail();
160     }
161 
162     /**
163      * Sets whether to output array content detail.
164      *
165      * @param arrayContentDetail  the new arrayContentDetail flag
166      */
167     @Override
168     public void setArrayContentDetail(final boolean arrayContentDetail) {
169         super.setArrayContentDetail(arrayContentDetail);
170     }
171 
172     /**
173      * Gets the array start text.
174      *
175      * @return the current array start text
176      */
177     @Override
178     public String getArrayStart() {
179         return super.getArrayStart();
180     }
181 
182     /**
183      * Sets the array start text.
184      *
185      * <p>{@code null} is accepted, but will be converted
186      * to an empty String.</p>
187      *
188      * @param arrayStart  the new array start text
189      */
190     @Override
191     public void setArrayStart(final String arrayStart) {
192         super.setArrayStart(arrayStart);
193     }
194 
195     /**
196      * Gets the array end text.
197      *
198      * @return the current array end text
199      */
200     @Override
201     public String getArrayEnd() {
202         return super.getArrayEnd();
203     }
204 
205     /**
206      * Sets the array end text.
207      *
208      * <p>{@code null} is accepted, but will be converted
209      * to an empty String.</p>
210      *
211      * @param arrayEnd  the new array end text
212      */
213     @Override
214     public void setArrayEnd(final String arrayEnd) {
215         super.setArrayEnd(arrayEnd);
216     }
217 
218     /**
219      * Gets the array separator text.
220      *
221      * @return the current array separator text
222      */
223     @Override
224     public String getArraySeparator() {
225         return super.getArraySeparator();
226     }
227 
228     /**
229      * Sets the array separator text.
230      *
231      * <p>{@code null} is accepted, but will be converted
232      * to an empty String.</p>
233      *
234      * @param arraySeparator  the new array separator text
235      */
236     @Override
237     public void setArraySeparator(final String arraySeparator) {
238         super.setArraySeparator(arraySeparator);
239     }
240 
241     /**
242      * Gets the content start text.
243      *
244      * @return the current content start text
245      */
246     @Override
247     public String getContentStart() {
248         return super.getContentStart();
249     }
250 
251     /**
252      * Sets the content start text.
253      *
254      * <p>{@code null} is accepted, but will be converted
255      * to an empty String.</p>
256      *
257      * @param contentStart  the new content start text
258      */
259     @Override
260     public void setContentStart(final String contentStart) {
261         super.setContentStart(contentStart);
262     }
263 
264     /**
265      * Gets the content end text.
266      *
267      * @return the current content end text
268      */
269     @Override
270     public String getContentEnd() {
271         return super.getContentEnd();
272     }
273 
274     /**
275      * Sets the content end text.
276      *
277      * <p>{@code null} is accepted, but will be converted
278      * to an empty String.</p>
279      *
280      * @param contentEnd  the new content end text
281      */
282     @Override
283     public void setContentEnd(final String contentEnd) {
284         super.setContentEnd(contentEnd);
285     }
286 
287     /**
288      * Gets the field name value separator text.
289      *
290      * @return the current field name value separator text
291      */
292     @Override
293     public String getFieldNameValueSeparator() {
294         return super.getFieldNameValueSeparator();
295     }
296 
297     /**
298      * Sets the field name value separator text.
299      *
300      * <p>{@code null} is accepted, but will be converted
301      * to an empty String.</p>
302      *
303      * @param fieldNameValueSeparator  the new field name value separator text
304      */
305     @Override
306     public void setFieldNameValueSeparator(final String fieldNameValueSeparator) {
307         super.setFieldNameValueSeparator(fieldNameValueSeparator);
308     }
309 
310     /**
311      * Gets the field separator text.
312      *
313      * @return the current field separator text
314      */
315     @Override
316     public String getFieldSeparator() {
317         return super.getFieldSeparator();
318     }
319 
320     /**
321      * Sets the field separator text.
322      *
323      * <p>{@code null} is accepted, but will be converted
324      * to an empty String.</p>
325      *
326      * @param fieldSeparator  the new field separator text
327      */
328     @Override
329     public void setFieldSeparator(final String fieldSeparator) {
330         super.setFieldSeparator(fieldSeparator);
331     }
332 
333     /**
334      * Gets whether the field separator should be added at the start
335      * of each buffer.
336      *
337      * @return the fieldSeparatorAtStart flag
338      * @since 2.0
339      */
340     @Override
341     public boolean isFieldSeparatorAtStart() {
342         return super.isFieldSeparatorAtStart();
343     }
344 
345     /**
346      * Sets whether the field separator should be added at the start
347      * of each buffer.
348      *
349      * @param fieldSeparatorAtStart  the fieldSeparatorAtStart flag
350      * @since 2.0
351      */
352     @Override
353     public void setFieldSeparatorAtStart(final boolean fieldSeparatorAtStart) {
354         super.setFieldSeparatorAtStart(fieldSeparatorAtStart);
355     }
356 
357     /**
358      * Gets whether the field separator should be added at the end
359      * of each buffer.
360      *
361      * @return fieldSeparatorAtEnd flag
362      * @since 2.0
363      */
364     @Override
365     public boolean isFieldSeparatorAtEnd() {
366         return super.isFieldSeparatorAtEnd();
367     }
368 
369     /**
370      * Sets whether the field separator should be added at the end
371      * of each buffer.
372      *
373      * @param fieldSeparatorAtEnd  the fieldSeparatorAtEnd flag
374      * @since 2.0
375      */
376     @Override
377     public void setFieldSeparatorAtEnd(final boolean fieldSeparatorAtEnd) {
378         super.setFieldSeparatorAtEnd(fieldSeparatorAtEnd);
379     }
380 
381     /**
382      * Gets the text to output when {@code null} found.
383      *
384      * @return the current text to output when {@code null} found
385      */
386     @Override
387     public String getNullText() {
388         return super.getNullText();
389     }
390 
391     /**
392      * Sets the text to output when {@code null} found.
393      *
394      * <p>{@code null} is accepted, but will be converted
395      * to an empty String.</p>
396      *
397      * @param nullText  the new text to output when {@code null} found
398      */
399     @Override
400     public void setNullText(final String nullText) {
401         super.setNullText(nullText);
402     }
403 
404     /**
405      * Gets the text to output when a {@link Collection},
406      * {@link Map} or {@link Array} size is output.
407      *
408      * <p>This is output before the size value.</p>
409      *
410      * @return the current start of size text
411      */
412     @Override
413     public String getSizeStartText() {
414         return super.getSizeStartText();
415     }
416 
417     /**
418      * Sets the start text to output when a {@link Collection},
419      * {@link Map} or {@link Array} size is output.
420      *
421      * <p>This is output before the size value.</p>
422      *
423      * <p>{@code null} is accepted, but will be converted to
424      * an empty String.</p>
425      *
426      * @param sizeStartText  the new start of size text
427      */
428     @Override
429     public void setSizeStartText(final String sizeStartText) {
430         super.setSizeStartText(sizeStartText);
431     }
432 
433     /**
434      * Gets the end text to output when a {@link Collection},
435      * {@link Map} or {@link Array} size is output.
436      *
437      * <p>This is output after the size value.</p>
438      *
439      * @return the current end of size text
440      */
441     @Override
442     public String getSizeEndText() {
443         return super.getSizeEndText();
444     }
445 
446     /**
447      * Sets the end text to output when a {@link Collection},
448      * {@link Map} or {@link Array} size is output.
449      *
450      * <p>This is output after the size value.</p>
451      *
452      * <p>{@code null} is accepted, but will be converted
453      * to an empty String.</p>
454      *
455      * @param sizeEndText  the new end of size text
456      */
457     @Override
458     public void setSizeEndText(final String sizeEndText) {
459         super.setSizeEndText(sizeEndText);
460     }
461 
462     /**
463      * Gets the start text to output when an {@link Object} is
464      * output in summary mode.
465      *
466      * <p>This is output before the size value.</p>
467      *
468      * @return the current start of summary text
469      */
470     @Override
471     public String getSummaryObjectStartText() {
472         return super.getSummaryObjectStartText();
473     }
474 
475     /**
476      * Sets the start text to output when an {@link Object} is
477      * output in summary mode.
478      *
479      * <p>This is output before the size value.</p>
480      *
481      * <p>{@code null} is accepted, but will be converted to
482      * an empty String.</p>
483      *
484      * @param summaryObjectStartText  the new start of summary text
485      */
486     @Override
487     public void setSummaryObjectStartText(final String summaryObjectStartText) {
488         super.setSummaryObjectStartText(summaryObjectStartText);
489     }
490 
491     /**
492      * Gets the end text to output when an {@link Object} is
493      * output in summary mode.
494      *
495      * <p>This is output after the size value.</p>
496      *
497      * @return the current end of summary text
498      */
499     @Override
500     public String getSummaryObjectEndText() {
501         return super.getSummaryObjectEndText();
502     }
503 
504     /**
505      * Sets the end text to output when an {@link Object} is
506      * output in summary mode.
507      *
508      * <p>This is output after the size value.</p>
509      *
510      * <p>{@code null} is accepted, but will be converted to
511      * an empty String.</p>
512      *
513      * @param summaryObjectEndText  the new end of summary text
514      */
515     @Override
516     public void setSummaryObjectEndText(final String summaryObjectEndText) {
517         super.setSummaryObjectEndText(summaryObjectEndText);
518     }
519 
520 }