1 package com.fasterxml.jackson.core.util;
2
3 import java.io.Serializable;
4
5
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