001package org.apache.commons.ssl.org.bouncycastle.asn1;
002
003/**
004 * class for breaking up an OID into it's component tokens, ala
005 * java.util.StringTokenizer. We need this class as some of the
006 * lightweight Java environment don't support classes like
007 * StringTokenizer.
008 */
009public class OIDTokenizer
010{
011    private String  oid;
012    private int     index;
013
014    public OIDTokenizer(
015        String oid)
016    {
017        this.oid = oid;
018        this.index = 0;
019    }
020
021    public boolean hasMoreTokens()
022    {
023        return (index != -1);
024    }
025
026    public String nextToken()
027    {
028        if (index == -1)
029        {
030            return null;
031        }
032
033        String  token;
034        int     end = oid.indexOf('.', index);
035
036        if (end == -1)
037        {
038            token = oid.substring(index);
039            index = -1;
040            return token;
041        }
042
043        token = oid.substring(index, end);
044
045        index = end + 1;
046        return token;
047    }
048}