/*
- * 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 <code>fo:flow</code> and
+ * <code>fo:static-content</code> 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
+ * <code>FoSimplePageMaster</code>. 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() {
+
}
}
-