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]

Reply via email to