Home | History | Annotate | Download | only in asn1
      1 package com.android.hotspot2.asn1;
      2 
      3 import java.nio.ByteBuffer;
      4 import java.nio.charset.Charset;
      5 import java.nio.charset.StandardCharsets;
      6 import java.util.Collection;
      7 
      8 public 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