From f3dfba59f252a6b65f531649d9e5b5c2358a1a3e Mon Sep 17 00:00:00 2001 From: William Victor Mote Date: Sun, 13 Jul 2003 03:12:28 +0000 Subject: [PATCH] extract methods nextDecimalPoint() and nextColor() from method next(), primarily to satisfy checkstyle's method size requirement git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196689 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/fop/fo/expr/PropertyTokenizer.java | 97 +++++++++++-------- 1 file changed, 54 insertions(+), 43 deletions(-) diff --git a/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java b/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java index 4a29973c3..2fee0f5a5 100644 --- a/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java +++ b/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java @@ -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 * apache@apache.org. - * + * * 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 . For more information on the Apache * Software Foundation, please see . - */ + */ package org.apache.fop.fo.expr; @@ -207,41 +207,12 @@ class PropertyTokenizer { 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; @@ -278,6 +249,46 @@ class PropertyTokenizer { } } + 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 '#'"); + } + } + /** * Attempt to recognize a valid NAME token in the input expression. */ -- 2.39.5