< prev index next >

src/java.base/share/classes/sun/security/x509/AVA.java

Print this page
rev 52979 : 8215281: Use String.isEmpty() when applicable in java.base
Reviewed-by: TBD


1228         }
1229 
1230         // check user-specified keyword map first, then fallback to built-in
1231         // map
1232         String oidString = extraKeywordMap.get(keyword);
1233         if (oidString == null) {
1234             AVAKeyword ak = keywordMap.get(keyword);
1235             if ((ak != null) && ak.isCompliant(standard)) {
1236                 return ak.oid;
1237             }
1238         } else {
1239             return new ObjectIdentifier(oidString);
1240         }
1241 
1242         // no keyword found, check if OID string
1243         if (standard == AVA.DEFAULT && keyword.startsWith("OID.")) {
1244             keyword = keyword.substring(4);
1245         }
1246 
1247         boolean number = false;
1248         if (keyword.length() != 0) {
1249             char ch = keyword.charAt(0);
1250             if ((ch >= '0') && (ch <= '9')) {
1251                 number = true;
1252             }
1253         }
1254         if (number == false) {
1255             throw new IOException("Invalid keyword \"" + keyword + "\"");
1256         }
1257         return new ObjectIdentifier(keyword);
1258     }
1259 
1260     /**
1261      * Get a keyword for the given ObjectIdentifier according to standard.
1262      * If no keyword is available, the ObjectIdentifier is encoded as a
1263      * String.
1264      */
1265     static String getKeyword(ObjectIdentifier oid, int standard) {
1266         return getKeyword
1267             (oid, standard, Collections.<String, String>emptyMap());
1268     }
1269 
1270     /**
1271      * Get a keyword for the given ObjectIdentifier according to standard.
1272      * Checks the extraOidMap for a keyword first, then falls back to the
1273      * builtin/default set. If no keyword is available, the ObjectIdentifier
1274      * is encoded as a String.
1275      */
1276     static String getKeyword
1277         (ObjectIdentifier oid, int standard, Map<String, String> extraOidMap) {
1278 
1279         // check extraOidMap first, then fallback to built-in map
1280         String oidString = oid.toString();
1281         String keywordString = extraOidMap.get(oidString);
1282         if (keywordString == null) {
1283             AVAKeyword ak = oidMap.get(oid);
1284             if ((ak != null) && ak.isCompliant(standard)) {
1285                 return ak.keyword;
1286             }
1287         } else {
1288             if (keywordString.length() == 0) {
1289                 throw new IllegalArgumentException("keyword cannot be empty");
1290             }
1291             keywordString = keywordString.trim();
1292             char c = keywordString.charAt(0);
1293             if (c < 65 || c > 122 || (c > 90 && c < 97)) {
1294                 throw new IllegalArgumentException
1295                     ("keyword does not start with letter");
1296             }
1297             for (int i=1; i<keywordString.length(); i++) {
1298                 c = keywordString.charAt(i);
1299                 if ((c < 65 || c > 122 || (c > 90 && c < 97)) &&
1300                     (c < 48 || c > 57) && c != '_') {
1301                     throw new IllegalArgumentException
1302                     ("keyword character is not a letter, digit, or underscore");
1303                 }
1304             }
1305             return keywordString;
1306         }
1307         // no compliant keyword, use OID
1308         if (standard == AVA.RFC2253) {




1228         }
1229 
1230         // check user-specified keyword map first, then fallback to built-in
1231         // map
1232         String oidString = extraKeywordMap.get(keyword);
1233         if (oidString == null) {
1234             AVAKeyword ak = keywordMap.get(keyword);
1235             if ((ak != null) && ak.isCompliant(standard)) {
1236                 return ak.oid;
1237             }
1238         } else {
1239             return new ObjectIdentifier(oidString);
1240         }
1241 
1242         // no keyword found, check if OID string
1243         if (standard == AVA.DEFAULT && keyword.startsWith("OID.")) {
1244             keyword = keyword.substring(4);
1245         }
1246 
1247         boolean number = false;
1248         if (!keyword.isEmpty()) {
1249             char ch = keyword.charAt(0);
1250             if ((ch >= '0') && (ch <= '9')) {
1251                 number = true;
1252             }
1253         }
1254         if (number == false) {
1255             throw new IOException("Invalid keyword \"" + keyword + "\"");
1256         }
1257         return new ObjectIdentifier(keyword);
1258     }
1259 
1260     /**
1261      * Get a keyword for the given ObjectIdentifier according to standard.
1262      * If no keyword is available, the ObjectIdentifier is encoded as a
1263      * String.
1264      */
1265     static String getKeyword(ObjectIdentifier oid, int standard) {
1266         return getKeyword
1267             (oid, standard, Collections.<String, String>emptyMap());
1268     }
1269 
1270     /**
1271      * Get a keyword for the given ObjectIdentifier according to standard.
1272      * Checks the extraOidMap for a keyword first, then falls back to the
1273      * builtin/default set. If no keyword is available, the ObjectIdentifier
1274      * is encoded as a String.
1275      */
1276     static String getKeyword
1277         (ObjectIdentifier oid, int standard, Map<String, String> extraOidMap) {
1278 
1279         // check extraOidMap first, then fallback to built-in map
1280         String oidString = oid.toString();
1281         String keywordString = extraOidMap.get(oidString);
1282         if (keywordString == null) {
1283             AVAKeyword ak = oidMap.get(oid);
1284             if ((ak != null) && ak.isCompliant(standard)) {
1285                 return ak.keyword;
1286             }
1287         } else {
1288             if (keywordString.isEmpty()) {
1289                 throw new IllegalArgumentException("keyword cannot be empty");
1290             }
1291             keywordString = keywordString.trim();
1292             char c = keywordString.charAt(0);
1293             if (c < 65 || c > 122 || (c > 90 && c < 97)) {
1294                 throw new IllegalArgumentException
1295                     ("keyword does not start with letter");
1296             }
1297             for (int i=1; i<keywordString.length(); i++) {
1298                 c = keywordString.charAt(i);
1299                 if ((c < 65 || c > 122 || (c > 90 && c < 97)) &&
1300                     (c < 48 || c > 57) && c != '_') {
1301                     throw new IllegalArgumentException
1302                     ("keyword character is not a letter, digit, or underscore");
1303                 }
1304             }
1305             return keywordString;
1306         }
1307         // no compliant keyword, use OID
1308         if (standard == AVA.RFC2253) {


< prev index next >