1package com.android.hotspot2.asn1;
2
3import java.nio.ByteBuffer;
4import java.nio.charset.Charset;
5import java.nio.charset.StandardCharsets;
6import java.util.Collection;
7
8public class Asn1String extends Asn1Object {
9    private final String mString;
10
11    public Asn1String(int tag, Asn1Class asn1Class, int length, ByteBuffer data) {
12        super(tag, asn1Class, false, length);
13
14        byte[] octets = new byte[length];
15        data.get(octets);
16        Charset charset = tag == Asn1Decoder.TAG_UTF8String
17                ? StandardCharsets.UTF_8 : StandardCharsets.ISO_8859_1;
18        mString = new String(octets, charset);
19    }
20
21    public String getString() {
22        return mString;
23    }
24
25    @Override
26    public Collection<Asn1Object> getChildren() {
27        throw new UnsupportedOperationException();
28    }
29
30    @Override
31    public String toString() {
32        return super.toString() + "='" + mString + '\'';
33    }
34}
35