/*
* 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;
import java.io.Serializable;
//import java.util.Map;
import org.apache.fop.datastructs.Node;
import org.apache.fop.fo.flow.FoPageSequence;
/**
* This holds the contents of the page.
*
* @author The Apache XML-FOP sub-project
* @author pbw
* @version $Revision$ $Name$
*/
public class PageRefArea
extends BlockReferenceArea
implements ReferenceArea, Serializable {
// contains before, start, body, end and after regions
private RegionBodyVport regionBodyVport = null;
private RegionBeforeVport regionBeforeVport = null;
private RegionAfterVport regionAfterVport = null;
private RegionStartVport regionStartVport = null;
private RegionEndVport regionEndVport = null;
// // temporary map of unresolved objects used when serializing the page
// private Map unresolved = null;
/**
* Create a page-reference-area
with a null rectangular area
* and region-reference-area
s.
* @param pageSeq
* @param parent
* @param sync
*/
public PageRefArea(
FoPageSequence pageSeq,
Node parent,
Object sync) {
// the page-sequence is the generated-by node
super(pageSeq, pageSeq, parent, sync);
}
/**
* Creates and returns a PageRefArea
with no rectangular
* area. The area created references null region viewports for
* region-body, region-before, region-after, region-start
and
* region-end
.
* N.B. this is a static
method.
* @param pageSeq the page-sequence
to which this area belongs
* @param parent the page-viewport-area
* @param sync
* @return the created reference area
*/
public static PageRefArea nullPageRef(
FoPageSequence pageSeq, Node parent, Object sync) {
PageRefArea pageRef =
new PageRefArea(pageSeq, parent, sync);
pageRef.setRegionBodyVport(RegionBodyVport.nullRegionBodyVport(
pageSeq, pageRef, sync));
pageRef.setRegionBeforeVport(RegionBeforeVport.nullRegionBeforeVport(
pageSeq, pageRef, sync));
pageRef.setRegionAfterVport(RegionAfterVport.nullRegionAfterVport(
pageSeq, pageRef, sync));
pageRef.setRegionStartVport(RegionStartVport.nullRegionStartVport(
pageSeq, pageRef, sync));
pageRef.setRegionEndVport(RegionEndVport.nullRegionEndVport(
pageSeq, pageRef, sync));
return pageRef;
}
/**
* @return the regionAfterVport
*/
public RegionAfterVport getRegionAfterVport() {
return regionAfterVport;
}
/**
* @param regionAfter viewport to set
*/
public void setRegionAfterVport(RegionAfterVport regionAfter) {
regionAfterVport = regionAfter;
}
/**
* @return the regionBeforeVport
*/
public RegionBeforeVport getRegionBeforeVport() {
return regionBeforeVport;
}
/**
* @param regionBefore viewport to set
*/
public void setRegionBeforeVport(RegionBeforeVport regionBefore) {
regionBeforeVport = regionBefore;
}
/**
* @return the regionBodyVport
*/
public RegionBodyVport getRegionBodyVport() {
return regionBodyVport;
}
/**
* @param regionBody viewport to set
*/
public void setRegionBodyVport(RegionBodyVport regionBody) {
regionBodyVport = regionBody;
}
/**
* @return the regionEndVport
*/
public RegionEndVport getRegionEndVport() {
return regionEndVport;
}
/**
* @param regionEnd viewport to set
*/
public void setRegionEndVport(RegionEndVport regionEnd) {
regionEndVport = regionEnd;
}
/**
* @return the regionStartVport
*/
public RegionStartVport getRegionStartVport() {
return regionStartVport;
}
/**
* @param regionStart viewport to set
*/
public void setRegionStartVport(RegionStartVport regionStart) {
regionStartVport = regionStart;
}
}