source: josm/trunk/src/com/drew/metadata/StringValue.java@ 13376

Last change on this file since 13376 was 13061, checked in by Don-vip, 6 years ago

fix #15505 - update to metadata-extractor 2.10.1

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1/*
2 * Copyright 2002-2017 Drew Noakes
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * More information about this project is available at:
17 *
18 * https://drewnoakes.com/code/exif/
19 * https://github.com/drewnoakes/metadata-extractor
20 */
21package com.drew.metadata;
22
23import com.drew.lang.annotations.NotNull;
24import com.drew.lang.annotations.Nullable;
25
26import java.io.UnsupportedEncodingException;
27import java.nio.charset.Charset;
28
29/**
30 * @author Drew Noakes https://drewnoakes.com
31 */
32public final class StringValue
33{
34 @NotNull
35 private final byte[] _bytes;
36
37 @Nullable
38 private final Charset _charset;
39
40 public StringValue(@NotNull byte[] bytes, @Nullable Charset charset)
41 {
42 _bytes = bytes;
43 _charset = charset;
44 }
45
46 @NotNull
47 public byte[] getBytes()
48 {
49 return _bytes;
50 }
51
52 @Nullable
53 public Charset getCharset()
54 {
55 return _charset;
56 }
57
58 @Override
59 public String toString()
60 {
61 return toString(_charset);
62 }
63
64 public String toString(@Nullable Charset charset)
65 {
66 if (charset != null) {
67 try {
68 return new String(_bytes, charset.name());
69 } catch (UnsupportedEncodingException ex) {
70 // fall through
71 }
72 }
73
74 return new String(_bytes);
75 }
76}
Note: See TracBrowser for help on using the repository browser.