1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package eu.medsea.mimeutil;
17
18 import eu.medsea.util.EncodingGuesser;
19
20
21
22
23
24
25
26
27
28
29 public class TextMimeType extends MimeType {
30
31 private static final long serialVersionUID = -4798584119063522367L;
32
33
34 private String encoding = "Unknown";
35
36
37
38
39
40
41
42
43
44
45
46 public TextMimeType(final String mimeType, final String encoding) {
47 super(mimeType);
48 this.encoding = getValidEncoding(encoding);
49 }
50
51 public TextMimeType(final MimeType mimeType, final String encoding) {
52 super(mimeType);
53 this.encoding = getValidEncoding(encoding);
54 }
55
56 public TextMimeType(final MimeType mimeType) {
57 super(mimeType);
58
59 }
60
61 public void setMimeType(MimeType mimeType) {
62 mediaType = mimeType.mediaType;
63 subType = mimeType.subType;
64 }
65
66
67
68
69
70
71
72 public String getEncoding() {
73 return encoding;
74 }
75
76 public void setEncoding(String encoding) {
77 this.encoding = encoding;
78 }
79
80 public String toString() {
81 return super.toString() + ";charset=" + getEncoding();
82 }
83
84
85
86
87
88
89
90
91 private boolean isKnownEncoding(String encoding) {
92 return EncodingGuesser.isKnownEncoding(encoding);
93 }
94
95 private String getValidEncoding(String encoding) {
96 if(isKnownEncoding(encoding)) {
97 return encoding;
98 } else {
99 return "Unknown";
100 }
101 }
102
103 public void setMediaType(String mediaType) {
104 this.mediaType = mediaType;
105 }
106
107 public void setSubType(String subType) {
108 this.subType = subType;
109 }
110 }
111