diff options
author | Keiron Liddle <keiron@apache.org> | 2001-06-22 08:52:08 +0000 |
---|---|---|
committer | Keiron Liddle <keiron@apache.org> | 2001-06-22 08:52:08 +0000 |
commit | 46a6565a7804163aa20015216df33416b7219473 (patch) | |
tree | fa3f065128ea0070844128bc929d9c52b1e9c91c /src/org/apache/fop/fo/pagination/Root.java | |
parent | 9fc23914f0a30287df26f3ee5cd40a9255c3a7b5 (diff) | |
download | xmlgraphics-fop-46a6565a7804163aa20015216df33416b7219473.tar.gz xmlgraphics-fop-46a6565a7804163aa20015216df33416b7219473.zip |
should handle page number properly, with threads
and multiple page sequences
also cleaned up code
Submitted by: Jeremias Maerki <jeremias.maerki@outline.ch>
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194309 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/org/apache/fop/fo/pagination/Root.java')
-rw-r--r-- | src/org/apache/fop/fo/pagination/Root.java | 160 |
1 files changed, 62 insertions, 98 deletions
diff --git a/src/org/apache/fop/fo/pagination/Root.java b/src/org/apache/fop/fo/pagination/Root.java index 58eb8ab28..fd974a377 100644 --- a/src/org/apache/fop/fo/pagination/Root.java +++ b/src/org/apache/fop/fo/pagination/Root.java @@ -1,53 +1,9 @@ -/*-- $Id$ -- - - ============================================================================ - The Apache Software License, Version 1.1 - ============================================================================ - - Copyright (C) 1999 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 - APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- - DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (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 <jtauber@jtauber.com>. For more information on the Apache - Software Foundation, please see <http://www.apache.org/>. - +/*-- $Id$ -- + * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. + * For details on use and redistribution please refer to the + * LICENSE file included with these sources. */ + package org.apache.fop.fo.pagination; // FOP @@ -68,68 +24,76 @@ import java.util.Enumeration; * page-sequences. */ public class Root extends FObj { - + public static class Maker extends FObj.Maker { - public FObj make(FObj parent, PropertyList propertyList) - throws FOPException - { - return new Root(parent, propertyList); - } + public FObj make(FObj parent, + PropertyList propertyList) throws FOPException { + return new Root(parent, propertyList); + } } - - public static FObj.Maker maker() - { - return new Root.Maker(); + + public static FObj.Maker maker() { + return new Root.Maker(); } LayoutMasterSet layoutMasterSet; - Vector pageSequences; - - protected Root(FObj parent, PropertyList propertyList) throws FOPException - { - super(parent, propertyList); - this.name = "fo:root"; - - pageSequences = new Vector(); - if (parent != null) - { - throw new FOPException("root must be root element"); - } + Vector pageSequences; + + /** keeps count of page number from over PageSequence instances*/ + private int runningPageNumberCounter = 0; + + + protected Root(FObj parent, + PropertyList propertyList) throws FOPException { + super(parent, propertyList); + this.name = "fo:root"; + + pageSequences = new Vector(); + if (parent != null) { + throw new FOPException("root must be root element"); + } + } + + + protected int getRunningPageNumberCounter() { + return this.runningPageNumberCounter; } + + protected void setRunningPageNumberCounter(int count) { + this.runningPageNumberCounter = count; + } + + /** @deprecated handled by addChild now */ - public void addPageSequence(PageSequence pageSequence) - { - this.pageSequences.addElement(pageSequence); + public void addPageSequence(PageSequence pageSequence) { + this.pageSequences.addElement(pageSequence); } - - - public LayoutMasterSet getLayoutMasterSet() - { - return this.layoutMasterSet; + + + public LayoutMasterSet getLayoutMasterSet() { + return this.layoutMasterSet; } public void setLayoutMasterSet(LayoutMasterSet layoutMasterSet) { - this.layoutMasterSet = layoutMasterSet; + this.layoutMasterSet = layoutMasterSet; } - public void format(AreaTree areaTree) throws FOPException - { - // MessageHandler.errorln(" Root[" + marker + "] "); - if(layoutMasterSet == null) { - throw new FOPException("No layout master set."); - } - - Enumeration e = children.elements(); - while (e.hasMoreElements()) { - Object o = e.nextElement(); - if (o instanceof PageSequence) { - ((PageSequence) o).format(areaTree); - } - else if (o instanceof ExtensionObj) { - ((ExtensionObj)o).format(areaTree); - } - } - } + public void format(AreaTree areaTree) throws FOPException { + // MessageHandler.errorln(" Root[" + marker + "] "); + if (layoutMasterSet == null) { + throw new FOPException("No layout master set."); + } + + Enumeration e = children.elements(); + while (e.hasMoreElements()) { + Object o = e.nextElement(); + if (o instanceof PageSequence) { + ((PageSequence) o).format(areaTree); + } else if (o instanceof ExtensionObj) { + ((ExtensionObj) o).format(areaTree); + } + } + } } |