Thursday, January 19, 2012

Reads next token from stream tokenizer

    /**
     * Reads the next token from the given stream tokenizer.
     *
     * @param aScanner  Stream tokenizer to read from.
     * @return          Read string token or null.
     *
     * @ulcm.msg 403 getString()
     * @ulcm.msg 410 EOF
     * @ulcm.msg 411 EOL
     */
    private String getString(StreamTokenizer aScanner) {

        String rtnString = null;
        try {
            aScanner.nextToken();
            switch (aScanner.ttype) {
                case StreamTokenizer.TT_EOF:
                    rtnString = CommItlBundle.getString(410);
                    break;
                case StreamTokenizer.TT_EOL:
                    rtnString = CommItlBundle.getString(411);
                    break;
                case StreamTokenizer.TT_WORD:
                    rtnString = aScanner.sval;
                    break;
                case StreamTokenizer.TT_NUMBER:
                    rtnString = String.valueOf((int) aScanner.nval);
                    break;
                case '"':
                    rtnString = aScanner.sval;
                    break;
                default:
                    rtnString = String.valueOf((char) aScanner.ttype);
            }
        } catch (IOException e) {

            if (this.LOGGER.isLoggable(Level.FINER)) {

                this.LOGGER.throwing(getClass().getName(),
                                     CommItlBundle.getString(403),
                                     e);
            }
        }
        return rtnString;
    }