vmote 2003/07/12 20:12:28 Modified: src/java/org/apache/fop/fo/expr PropertyTokenizer.java Log: extract methods nextDecimalPoint() and nextColor() from method next(), primarily to satisfy checkstyle's method size requirement Revision Changes Path 1.2 +54 -43 xml-fop/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java Index: PropertyTokenizer.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- PropertyTokenizer.java 11 Mar 2003 13:05:26 -0000 1.1 +++ PropertyTokenizer.java 13 Jul 2003 03:12:28 -0000 1.2 @@ -3,34 +3,34 @@ * ============================================================================ * The Apache Software License, Version 1.1 * ============================================================================ - * + * * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * 3. The end-user documentation included with the redistribution, if any, must * include the following acknowledgment: "This product includes software * developed by the Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, if * and wherever such third-party acknowledgments normally appear. - * + * * 4. The names "FOP" and "Apache Software Foundation" must not be used to * endorse or promote products derived from this software without prior * written permission. For written permission, please contact * [EMAIL PROTECTED] - * + * * 5. Products derived from this software may not be called "Apache", nor may * "Apache" appear in their name, without prior written permission of the * Apache Software Foundation. - * + * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -42,12 +42,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ============================================================================ - * + * * This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation and was originally created by * James Tauber <[EMAIL PROTECTED]>. For more information on the Apache * Software Foundation, please see <http://www.apache.org/>. - */ + */ package org.apache.fop.fo.expr; @@ -207,41 +207,12 @@ return; case '.': - if (exprIndex < exprLength - && isDigit(expr.charAt(exprIndex))) { - ++exprIndex; - scanDigits(); - if (exprIndex < exprLength - && expr.charAt(exprIndex) == '%') { - exprIndex++; - currentToken = TOK_PERCENT; - } else { - // Check for possible unit name following number - currentUnitLength = exprIndex; - scanName(); - currentUnitLength = exprIndex - currentUnitLength; - currentToken = (currentUnitLength > 0) ? TOK_NUMERIC - : TOK_FLOAT; - } - currentTokenValue = expr.substring(currentTokenStartIndex, - exprIndex); - return; - } - throw new PropertyException("illegal character '.'"); + nextDecimalPoint(); + return; case '#': // Start of color value - if (exprIndex < exprLength - && isHexDigit(expr.charAt(exprIndex))) { - ++exprIndex; - scanHexDigits(); - currentToken = TOK_COLORSPEC; - currentTokenValue = expr.substring(currentTokenStartIndex, - exprIndex); - // Probably should have some multiple of 3 for length! - return; - } else { - throw new PropertyException("illegal character '#'"); - } + nextColor(); + return; default: --exprIndex; @@ -275,6 +246,46 @@ } return; } + } + } + + private void nextDecimalPoint() throws PropertyException { + if (exprIndex < exprLength + && isDigit(expr.charAt(exprIndex))) { + ++exprIndex; + scanDigits(); + if (exprIndex < exprLength + && expr.charAt(exprIndex) == '%') { + exprIndex++; + currentToken = TOK_PERCENT; + } else { + // Check for possible unit name following number + currentUnitLength = exprIndex; + scanName(); + currentUnitLength = exprIndex - currentUnitLength; + currentToken = (currentUnitLength > 0) ? TOK_NUMERIC + : TOK_FLOAT; + } + currentTokenValue = expr.substring(currentTokenStartIndex, + exprIndex); + return; + } + throw new PropertyException("illegal character '.'"); + } + + + private void nextColor () throws PropertyException { + if (exprIndex < exprLength + && isHexDigit(expr.charAt(exprIndex))) { + ++exprIndex; + scanHexDigits(); + currentToken = TOK_COLORSPEC; + currentTokenValue = expr.substring(currentTokenStartIndex, + exprIndex); + // Probably should have some multiple of 3 for length! + return; + } else { + throw new PropertyException("illegal character '#'"); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]