001    package org.apache.commons.ssl.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     */
009    public class OIDTokenizer {
010        private String oid;
011        private int index;
012    
013        public OIDTokenizer(
014            String oid) {
015            this.oid = oid;
016            this.index = 0;
017        }
018    
019        public boolean hasMoreTokens() {
020            return (index != -1);
021        }
022    
023        public String nextToken() {
024            if (index == -1) {
025                return null;
026            }
027    
028            String token;
029            int end = oid.indexOf('.', index);
030    
031            if (end == -1) {
032                token = oid.substring(index);
033                index = -1;
034                return token;
035            }
036    
037            token = oid.substring(index, end);
038    
039            index = end + 1;
040            return token;
041        }
042    }