From: Peter Bernard West Date: Tue, 20 Apr 2004 17:16:50 +0000 (+0000) Subject: Speculator for handling page generation X-Git-Tag: Defoe_export~220 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ed5e79c016b50469d6ab90a1f0efea579a56f1f0;p=xmlgraphics-fop.git Speculator for handling page generation git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@197524 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/fop/area/Page.java b/src/java/org/apache/fop/area/Page.java index 49d74d7f2..5bc7475de 100644 --- a/src/java/org/apache/fop/area/Page.java +++ b/src/java/org/apache/fop/area/Page.java @@ -1,136 +1,40 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * + * Copyright 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 - * + * + * 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. + * + * Created on 16/04/2004 + * $Id$ */ - -/* $Id$ */ - package org.apache.fop.area; -import java.io.Serializable; -import java.util.Map; - -import org.apache.fop.fo.pagination.Region; - /** - * The page. - * This holds the contents of the page. Each region is added. - * The unresolved references area added so that if the page is - * serialized then it will handle the resolving properly after - * being reloaded. - * This is serializable so it can be saved to cache to save - * memory if there are forward references. - * The page is cloneable so the page master can make copies of - * the top level page and regions. + * This class gathers all of of the components necessary to set up the basic + * page area precursors for the resolution of fo:flow and + * fo:static-content elements. + * + * @author pbw + * @version $Revision$ $Name$ */ -public class Page implements Serializable, Cloneable { - // contains before, start, body, end and after regions - private RegionViewport regionBefore = null; - private RegionViewport regionStart = null; - private RegionViewport regionBody = null; - private RegionViewport regionEnd = null; - private RegionViewport regionAfter = null; - - // temporary map of unresolved objects used when serializing the page - private Map unresolved = null; - - /** - * Set the region on this page. - * - * @param areaclass the area class of the region to set - * @param port the region viewport to set - */ - public void setRegionViewport(int areaclass, RegionViewport port) { - if (areaclass == Region.BEFORE_CODE) { - regionBefore = port; - } else if (areaclass == Region.START_CODE) { - regionStart = port; - } else if (areaclass == Region.BODY_CODE) { - regionBody = port; - } else if (areaclass == Region.END_CODE) { - regionEnd = port; - } else if (areaclass == Region.AFTER_CODE) { - regionAfter = port; - } - } - +public class Page { + /** - * Get the region from this page. - * - * @param areaclass the region area class - * @return the region viewport or null if none + * Constructs a null page in the absence of a particular + * FoSimplePageMaster. All dimensions are undefined, and + * only the minimal set of areas is constructed. */ - public RegionViewport getRegionViewport(int areaclass) { - if (areaclass == Region.BEFORE_CODE) { - return regionBefore; - } else if (areaclass == Region.START_CODE) { - return regionStart; - } else if (areaclass == Region.BODY_CODE) { - return regionBody; - } else if (areaclass == Region.END_CODE) { - return regionEnd; - } else if (areaclass == Region.AFTER_CODE) { - return regionAfter; - } - return null; - } - - /** - * Clone this page. - * This returns a new page with a clone of all the regions. - * - * @return a new clone of this page - */ - public Object clone() { - Page p = new Page(); - if (regionBefore != null) { - p.regionBefore = (RegionViewport)regionBefore.clone(); - } - if (regionStart != null) { - p.regionStart = (RegionViewport)regionStart.clone(); - } - if (regionBody != null) { - p.regionBody = (RegionViewport)regionBody.clone(); - } - if (regionEnd != null) { - p.regionEnd = (RegionViewport)regionEnd.clone(); - } - if (regionAfter != null) { - p.regionAfter = (RegionViewport)regionAfter.clone(); - } - - return p; - } - - /** - * Set the unresolved references on this page for serializing. - * - * @param unres the map of unresolved objects - */ - public void setUnresolvedReferences(Map unres) { - unresolved = unres; - } - - /** - * Get the map unresolved references from this page. - * This should be called after deserializing to retrieve - * the map of unresolved references that were serialized. - * - * @return the de-serialized map of unresolved objects - */ - public Map getUnresolvedReferences() { - return unresolved; + public Page() { + } } -