You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by vm...@apache.org on 2003/04/28 00:21:25 UTC

cvs commit: xml-fop/src/java/org/apache/fop/fo FObj.java

vmote       2003/04/27 15:21:25

  Modified:    src/java/org/apache/fop/fo FObj.java
  Log:
  Refactor: extract method findNearestAncestorFObj from handleAttrs
  
  Revision  Changes    Path
  1.2       +26 -16    xml-fop/src/java/org/apache/fop/fo/FObj.java
  
  Index: FObj.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FObj.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FObj.java	11 Mar 2003 13:05:19 -0000	1.1
  +++ FObj.java	27 Apr 2003 22:21:24 -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
    *    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 <jt...@jtauber.com>. For more information on the Apache
    * Software Foundation, please see <http://www.apache.org/>.
  - */ 
  + */
   package org.apache.fop.fo;
   
   // Java
  @@ -150,21 +150,31 @@
        * Handle the attributes for this element.
        * The attributes must be used immediately as the sax attributes
        * will be altered for the next element.
  +     * @param attlist Collection of attributes passed to us from the parser.
        */
       public void handleAttrs(Attributes attlist) throws FOPException {
  -        FONode par = parent;
  -        while (par != null && !(par instanceof FObj)) {
  -            par = par.parent;
  -        }
  +        FObj par = findNearestAncestorFObj();
           PropertyList props = null;
           if (par != null) {
  -            props = ((FObj) par).properties;
  +            props = par.properties;
           }
           properties = getListBuilder().makeList(FO_URI, name, attlist, props,
  -                                               (FObj) par);
  +                                               par);
           properties.setFObj(this);
           this.propMgr = makePropertyManager(properties);
           setWritingMode();
  +    }
  +
  +    /**
  +     * Find the nearest parent, grandparent, etc. FONode that is also an FObj
  +     * @return FObj the nearest ancestor FONode that is an FObj
  +     */
  +    public FObj findNearestAncestorFObj() {
  +      FONode par = parent;
  +      while (par != null && !(par instanceof FObj)) {
  +          par = par.parent;
  +      }
  +      return (FObj)par;
       }
   
       protected PropertyManager makePropertyManager(
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org