From 50151d55ff65241b68d1f804cd3b12dc7efdb494 Mon Sep 17 00:00:00 2001 From: Glen Mazza Date: Sat, 12 Feb 2005 06:41:24 +0000 Subject: [PATCH] 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 --- .../org/apache/fop/area/AreaTreeModel.java | 52 ++++++-- src/java/org/apache/fop/area/LineTrait.java | 28 ----- .../org/apache/fop/area/RenderPagesModel.java | 6 +- .../org/apache/fop/area/StorePagesModel.java | 117 ------------------ .../layoutmgr/PageSequenceLayoutManager.java | 7 +- 5 files changed, 46 insertions(+), 164 deletions(-) delete mode 100644 src/java/org/apache/fop/area/LineTrait.java delete mode 100644 src/java/org/apache/fop/area/StorePagesModel.java 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. * -- 2.39.5