aboutsummaryrefslogtreecommitdiffstats
path: root/src/java
diff options
context:
space:
mode:
authorGlen Mazza <gmazza@apache.org>2005-02-12 06:41:24 +0000
committerGlen Mazza <gmazza@apache.org>2005-02-12 06:41:24 +0000
commit50151d55ff65241b68d1f804cd3b12dc7efdb494 (patch)
tree41c0a6174f03dcde1a1d6a3aa275f210f870eaab /src/java
parente0395a78acc54c21e1f4ef96b432f9bc8a809d78 (diff)
downloadxmlgraphics-fop-50151d55ff65241b68d1f804cd3b12dc7efdb494.tar.gz
xmlgraphics-fop-50151d55ff65241b68d1f804cd3b12dc7efdb494.zip
PR:
Obtained from: Submitted by: Reviewed by: Removed flush() override from PSLM, consolidated StorePagesModel & AreaTreeModel, removed unused LineTrait.java. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198425 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java')
-rw-r--r--src/java/org/apache/fop/area/AreaTreeModel.java52
-rw-r--r--src/java/org/apache/fop/area/LineTrait.java28
-rw-r--r--src/java/org/apache/fop/area/RenderPagesModel.java6
-rw-r--r--src/java/org/apache/fop/area/StorePagesModel.java117
-rw-r--r--src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java7
5 files changed, 46 insertions, 164 deletions
diff --git a/src/java/org/apache/fop/area/AreaTreeModel.java b/src/java/org/apache/fop/area/AreaTreeModel.java
index c1fe32d1e..92504696b 100644
--- a/src/java/org/apache/fop/area/AreaTreeModel.java
+++ b/src/java/org/apache/fop/area/AreaTreeModel.java
@@ -18,53 +18,83 @@
package org.apache.fop.area;
+// Java
+import java.util.List;
+
// XML
import org.xml.sax.SAXException;
+// Apache
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
/**
* This is the model for the area tree object.
* The model implementation can handle the page sequence,
- * page and extensions.
+ * page and off-document items.
* The methods to access the page viewports can only
* assume the PageViewport is valid as it remains for
* the life of the area tree model.
*/
-public abstract class AreaTreeModel {
+public class AreaTreeModel {
+ private List pageSequenceList = null;
+ private List currentPageSequencePageList;
+ private List offDocumentItems = new java.util.ArrayList();
+
+ protected static Log log = LogFactory.getLog(AreaTreeModel.class);
+
+ /**
+ * Create a new store pages model
+ */
+ public AreaTreeModel() {
+ pageSequenceList = new java.util.ArrayList();
+ }
+
/**
* Start a page sequence on this model.
* @param title the title of the new page sequence
*/
- public abstract void startPageSequence(LineArea title);
+ public void startPageSequence(LineArea title) {
+ currentPageSequencePageList = new java.util.ArrayList();
+ pageSequenceList.add(currentPageSequencePageList);
+ }
/**
* Add a page to this moel.
* @param page the page to add to the model.
*/
- public abstract void addPage(PageViewport page);
+ public void addPage(PageViewport page) {
+ currentPageSequencePageList.add(page);
+ }
/**
* Handle an OffDocumentItem
* @param ext the extension to handle
*/
- public abstract void handleOffDocumentItem(OffDocumentItem ext);
+ public void handleOffDocumentItem(OffDocumentItem ext) {};
/**
* Signal the end of the document for any processing.
*/
- public abstract void endDocument() throws SAXException;
+ public void endDocument() throws SAXException {};
/**
* Get the page sequence count.
* @return the number of page sequences in the document.
*/
- public abstract int getPageSequenceCount();
+ public int getPageSequenceCount() {
+ return pageSequenceList.size();
+ }
/**
* Get the page count.
* @param seq the page sequence to count.
* @return returns the number of pages in a page sequence
*/
- public abstract int getPageCount(int seq);
+ public int getPageCount(int seq) {
+ List sequence = (List) pageSequenceList.get(seq - 1);
+ return sequence.size();
+ }
/**
* Get the page for a position in the document.
@@ -72,6 +102,8 @@ public abstract class AreaTreeModel {
* @param count the page count in the sequence
* @return the PageViewport for the particular page
*/
- public abstract PageViewport getPage(int seq, int count);
-
+ public PageViewport getPage(int seq, int count) {
+ List sequence = (List) pageSequenceList.get(seq - 1);
+ return (PageViewport) sequence.get(count);
+ }
}
diff --git a/src/java/org/apache/fop/area/LineTrait.java b/src/java/org/apache/fop/area/LineTrait.java
deleted file mode 100644
index faaabcd7f..000000000
--- a/src/java/org/apache/fop/area/LineTrait.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id$ */
-
-package org.apache.fop.area;
-
-/**
- * Traits for a range of areas in a line.
- * Not sure if this is needed.
- */
-public class LineTrait extends Trait {
- private int[] range;
-}
-
diff --git a/src/java/org/apache/fop/area/RenderPagesModel.java b/src/java/org/apache/fop/area/RenderPagesModel.java
index f32364bd2..c40ff156a 100644
--- a/src/java/org/apache/fop/area/RenderPagesModel.java
+++ b/src/java/org/apache/fop/area/RenderPagesModel.java
@@ -35,14 +35,14 @@ import org.apache.fop.render.Renderer;
import org.apache.fop.render.RendererFactory;
/**
- * This uses the store pages model to store the pages
- * each page is either rendered if ready or prepared
+ * This uses the AreaTreeModel to store the pages
+ * Each page is either rendered if ready or prepared
* for later rendering.
* Once a page is rendered it is cleared to release the
* contents but the PageViewport is retained. So even
* though the pages are stored the contents are discarded.
*/
-public class RenderPagesModel extends StorePagesModel {
+public class RenderPagesModel extends AreaTreeModel {
/**
* The renderer that will render the pages.
*/
diff --git a/src/java/org/apache/fop/area/StorePagesModel.java b/src/java/org/apache/fop/area/StorePagesModel.java
deleted file mode 100644
index 90491b77e..000000000
--- a/src/java/org/apache/fop/area/StorePagesModel.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id$ */
-
-package org.apache.fop.area;
-
-// Java
-import java.util.List;
-
-// XML
-import org.xml.sax.SAXException;
-
-// Apache
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class stores all the pages in the document
- * for interactive agents.
- * The pages are stored and can be retrieved in any order.
- */
-public class StorePagesModel extends AreaTreeModel {
- private List pageSequenceList = null;
- private List currentPageSequencePageList;
- private List offDocumentItems = new java.util.ArrayList();
-
- protected static Log log = LogFactory.getLog(StorePagesModel.class);
-
- /**
- * Create a new store pages model
- */
- public StorePagesModel() {
- pageSequenceList = new java.util.ArrayList();
- }
-
- /**
- * Start a new page sequence.
- * This creates a new list for the pages in the new page sequence.
- * @param title the title of the page sequence.
- */
- public void startPageSequence(LineArea title) {
- currentPageSequencePageList = new java.util.ArrayList();
- pageSequenceList.add(currentPageSequencePageList);
- }
-
- /**
- * Add a page.
- * @param page the page to add to the current page sequence
- */
- public void addPage(PageViewport page) {
- currentPageSequencePageList.add(page);
- }
-
- /**
- * Get the page sequence count.
- * @return the number of page sequences in the document.
- */
- public int getPageSequenceCount() {
- return pageSequenceList.size();
- }
-
- /**
- * Get the page count.
- * @param seq the page sequence to count.
- * @return returns the number of pages in a page sequence
- */
- public int getPageCount(int seq) {
- List sequence = (List) pageSequenceList.get(seq - 1);
- return sequence.size();
- }
-
- /**
- * Get the page for a position in the document.
- * @param seq the page sequence number
- * @param count the page count in the sequence
- * @return the PageViewport for the particular page
- */
- public PageViewport getPage(int seq, int count) {
- List sequence = (List) pageSequenceList.get(seq - 1);
- return (PageViewport) sequence.get(count);
- }
-
- /**
- * @see org.apache.fop.area.AreaTreeModel#handleOffDocumentItem(OffDocumentItem)
- */
- public void handleOffDocumentItem(OffDocumentItem ext) {
- offDocumentItems.add(ext);
- }
-
- /**
- * Get the list of OffDocumentItems for this StorePagesModel.
- * @return the list of OffDocumentItems
- */
- public List getOffDocumentItems() {
- return offDocumentItems;
- }
-
- /**
- * End document, do nothing.
- */
- public void endDocument() throws SAXException {
- }
-}
diff --git a/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java b/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
index 7e5026901..0321c8235 100644
--- a/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
@@ -222,7 +222,7 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
}
pageCount--;
log.debug("Ending layout");
- flush();
+ finishPage();
pageSeq.setCurrentPageNumber(getPageCount());
}
@@ -747,11 +747,6 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
createFlow();
}
- // See finishPage...
- protected void flush() {
- finishPage();
- }
-
/**
* Called when a new page is needed.
*