src/java.base/share/classes/sun/security/ssl/ExtensionType.java

Print this page




  26 package sun.security.ssl;
  27 
  28 import java.util.ArrayList;
  29 import java.util.List;
  30 
  31 final class ExtensionType {
  32 
  33     final int id;
  34     final String name;
  35 
  36     private ExtensionType(int id, String name) {
  37         this.id = id;
  38         this.name = name;
  39     }
  40 
  41     @Override
  42     public String toString() {
  43         return name;
  44     }
  45 
  46     static List<ExtensionType> knownExtensions = new ArrayList<ExtensionType>(9);

  47 
  48     static ExtensionType get(int id) {
  49         for (ExtensionType ext : knownExtensions) {
  50             if (ext.id == id) {
  51                 return ext;
  52             }
  53         }
  54         return new ExtensionType(id, "type_" + id);
  55     }
  56 
  57     private static ExtensionType e(int id, String name) {
  58         ExtensionType ext = new ExtensionType(id, name);
  59         knownExtensions.add(ext);
  60         return ext;
  61     }
  62 
  63     // extensions defined in RFC 3546
  64     final static ExtensionType EXT_SERVER_NAME =
  65             e(0x0000, "server_name");            // IANA registry value: 0
  66     final static ExtensionType EXT_MAX_FRAGMENT_LENGTH =




  26 package sun.security.ssl;
  27 
  28 import java.util.ArrayList;
  29 import java.util.List;
  30 
  31 final class ExtensionType {
  32 
  33     final int id;
  34     final String name;
  35 
  36     private ExtensionType(int id, String name) {
  37         this.id = id;
  38         this.name = name;
  39     }
  40 
  41     @Override
  42     public String toString() {
  43         return name;
  44     }
  45 
  46     static List<ExtensionType> knownExtensions =
  47                                     new ArrayList<ExtensionType>(9);
  48 
  49     static ExtensionType get(int id) {
  50         for (ExtensionType ext : knownExtensions) {
  51             if (ext.id == id) {
  52                 return ext;
  53             }
  54         }
  55         return new ExtensionType(id, "type_" + id);
  56     }
  57 
  58     private static ExtensionType e(int id, String name) {
  59         ExtensionType ext = new ExtensionType(id, name);
  60         knownExtensions.add(ext);
  61         return ext;
  62     }
  63 
  64     // extensions defined in RFC 3546
  65     final static ExtensionType EXT_SERVER_NAME =
  66             e(0x0000, "server_name");            // IANA registry value: 0
  67     final static ExtensionType EXT_MAX_FRAGMENT_LENGTH =