aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/apache/fop/fo/pagination/Root.java
diff options
context:
space:
mode:
authorKeiron Liddle <keiron@apache.org>2001-06-22 08:52:08 +0000
committerKeiron Liddle <keiron@apache.org>2001-06-22 08:52:08 +0000
commit46a6565a7804163aa20015216df33416b7219473 (patch)
treefa3f065128ea0070844128bc929d9c52b1e9c91c /src/org/apache/fop/fo/pagination/Root.java
parent9fc23914f0a30287df26f3ee5cd40a9255c3a7b5 (diff)
downloadxmlgraphics-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.java160
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);
+ }
+ }
+ }
}