< prev index next >

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

Print this page
rev 51919 : 8215281: Use String.isEmpty() when applicable in java.base
Reviewed-by: dfuchs, alanb


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




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


< prev index next >