1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.bouncycastle.asn1; 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * class for breaking up an OID into it's component tokens, ala 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * java.util.StringTokenizer. We need this class as some of the 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * lightweight Java environment don't support classes like 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * StringTokenizer. 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class OIDTokenizer 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private String oid; 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private int index; 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public OIDTokenizer( 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String oid) 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project this.oid = oid; 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project this.index = 0; 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public boolean hasMoreTokens() 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return (index != -1); 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public String nextToken() 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (index == -1) 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return null; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String token; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int end = oid.indexOf('.', index); 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (end == -1) 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project token = oid.substring(index); 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project index = -1; 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return token; 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project token = oid.substring(index, end); 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project index = end + 1; 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return token; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 49