• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.bouncycastle.asn1;
2 
3 /**
4  * Class for breaking up an OID into it's component tokens, ala
5  * java.util.StringTokenizer. We need this class as some of the
6  * lightweight Java environment don't support classes like
7  * StringTokenizer.
8  */
9 public class OIDTokenizer
10 {
11     private String  oid;
12     private int     index;
13 
14     /**
15      * Base constructor.
16      *
17      * @param oid the string representation of the OID.
18      */
OIDTokenizer( String oid)19     public OIDTokenizer(
20         String oid)
21     {
22         this.oid = oid;
23         this.index = 0;
24     }
25 
26     /**
27      * Return whether or not there are more tokens in this tokenizer.
28      *
29      * @return true if there are more tokens, false otherwise.
30      */
hasMoreTokens()31     public boolean hasMoreTokens()
32     {
33         return (index != -1);
34     }
35 
36     /**
37      * Return the next token in the underlying String.
38      *
39      * @return the next token.
40      */
nextToken()41     public String nextToken()
42     {
43         if (index == -1)
44         {
45             return null;
46         }
47 
48         String  token;
49         int     end = oid.indexOf('.', index);
50 
51         if (end == -1)
52         {
53             token = oid.substring(index);
54             index = -1;
55             return token;
56         }
57 
58         token = oid.substring(index, end);
59 
60         index = end + 1;
61         return token;
62     }
63 }
64