1 package com.fasterxml.jackson.core.util;
2
3 import java.io.Serializable;
4
5 /**
6  * Value class used with some {@link com.fasterxml.jackson.core.PrettyPrinter}
7  * implements
8  *
9  * @see com.fasterxml.jackson.core.util.DefaultPrettyPrinter
10  * @see com.fasterxml.jackson.core.util.MinimalPrettyPrinter
11  * 
12  * @since 2.9
13  */

14 public class Separators implements Serializable
15 {
16     private static final long serialVersionUID = 1;
17
18     private final char objectFieldValueSeparator;
19     private final char objectEntrySeparator;
20     private final char arrayValueSeparator;
21
22     public static Separators createDefaultInstance() {
23         return new Separators();
24     }
25
26     public Separators() {
27         this(':', ',', ',');
28     }
29
30     public Separators(char objectFieldValueSeparator,
31             char objectEntrySeparator, char arrayValueSeparator) {
32         this.objectFieldValueSeparator = objectFieldValueSeparator;
33         this.objectEntrySeparator = objectEntrySeparator;
34         this.arrayValueSeparator = arrayValueSeparator;
35     }
36     
37     public Separators withObjectFieldValueSeparator(char sep) {
38         return (objectFieldValueSeparator == sep) ? this
39                 : new Separators(sep, objectEntrySeparator, arrayValueSeparator);
40     }
41
42     public Separators withObjectEntrySeparator(char sep) {
43         return (objectEntrySeparator == sep) ? this
44                 : new Separators(objectFieldValueSeparator, sep, arrayValueSeparator);
45     }
46
47     public Separators withArrayValueSeparator(char sep) {
48         return (arrayValueSeparator == sep) ? this
49                 : new Separators(objectFieldValueSeparator, objectEntrySeparator, sep);
50     }
51
52     public char getObjectFieldValueSeparator() {
53         return objectFieldValueSeparator;
54     }
55
56     public char getObjectEntrySeparator() {
57         return objectEntrySeparator;
58     }
59
60     public char getArrayValueSeparator() {
61         return arrayValueSeparator;
62     }
63 }
64