Revision: 7870
http://svn.sourceforge.net/foray/?rev=7870&view=rev
Author: victormote
Date: 2006-09-03 13:15:25 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Start using the PageSequenceTemplate abstraction.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/java/org/foray/fotree/fo/obj/PageMasterResolver.java
trunk/foray/foray-fotree/src/java/org/foray/fotree/fo/obj/PageSequence.java
Modified: trunk/foray/foray-fotree/src/java/org/foray/fotree/fo/obj/PageMasterResolver.java
===================================================================
--- trunk/foray/foray-fotree/src/java/org/foray/fotree/fo/obj/PageMasterResolver.java 2006-09-03 19:31:25 UTC (rev 7869)
+++ trunk/foray/foray-fotree/src/java/org/foray/fotree/fo/obj/PageMasterResolver.java 2006-09-03 20:15:25 UTC (rev 7870)
@@ -54,18 +54,19 @@
*/
public SimplePageMaster getNextPageMaster(final boolean isBlank)
throws FOTreeException {
-
- org.foray.fotree.fo.obj.SimplePageMaster spm = getSimplePageMaster();
- if (spm != null) {
- return spm;
+ final PageSequenceTemplate template = this.pageSequence
+ .getPageSequenceTemplate();
+ if (template instanceof org.foray.fotree.fo.obj.SimplePageMaster) {
+ return (org.foray.fotree.fo.obj.SimplePageMaster) template;
}
- final PageSequenceMaster psm = getPageSequenceMaster();
+ final PageSequenceMaster psm = (PageSequenceMaster) template;
if (psm == null) {
return null;
}
final Flow flow = getFlow();
this.lastDocumentPageNumber ++;
- spm = psm.getNextSimplePageMaster(
+ final org.foray.fotree.fo.obj.SimplePageMaster spm =
+ psm.getNextSimplePageMaster(
((this.lastDocumentPageNumber % 2) == 1), isBlank);
final Region region = (Region) spm.getRegionBody();
if (!flow.traitFlowName().equals(region.traitRegionName())) {
@@ -76,14 +77,6 @@
return spm;
}
- private org.foray.fotree.fo.obj.SimplePageMaster getSimplePageMaster() {
- return this.pageSequence.getSimplePageMaster();
- }
-
- private PageSequenceMaster getPageSequenceMaster() {
- return this.pageSequence.getPageSequenceMaster();
- }
-
private Flow getFlow() {
return this.pageSequence.getFlow();
}
Modified: trunk/foray/foray-fotree/src/java/org/foray/fotree/fo/obj/PageSequence.java
===================================================================
--- trunk/foray/foray-fotree/src/java/org/foray/fotree/fo/obj/PageSequence.java 2006-09-03 19:31:25 UTC (rev 7869)
+++ trunk/foray/foray-fotree/src/java/org/foray/fotree/fo/obj/PageSequence.java 2006-09-03 20:15:25 UTC (rev 7870)
@@ -62,10 +62,8 @@
// page number and related formatting variables
private PageNumberGenerator pageNumberGenerator;
- private PageSequenceMaster pageSequenceMaster;
+ private PageSequenceTemplate pageSequenceTemplate;
- private SimplePageMaster simplePageMaster;
-
public PageSequence(final FObj parent, final PropertyList propertyList,
final String systemId, final int line, final int column) {
super(parent, propertyList, systemId, line, column);
@@ -85,7 +83,18 @@
* {@inheritDoc}
*/
protected void validateProperties() throws FOTreeException {
- return;
+ final String masterReference = this.traitMasterReference();
+ this.pageSequenceTemplate = getLayoutMasterSet().getSimplePageMaster(
+ masterReference);
+ if (this.pageSequenceTemplate == null) {
+ this.pageSequenceTemplate = getLayoutMasterSet()
+ .getPageSequenceMaster(masterReference);
+ if (this.pageSequenceTemplate == null) {
+ throwException("master-reference '" + traitMasterReference()
+ + "' for fo:page-sequence matches no "
+ + "simple-page-master or page-sequence-master");
+ }
+ }
}
/**
@@ -124,7 +133,6 @@
+ getFullName());
}
this.flow = flow;
- setupPagination();
}
public void addStaticContent(final StaticContent staticContent)
@@ -209,16 +217,6 @@
return this.flow;
}
- public SimplePageMaster getSimplePageMaster() {
- final String masterReference = this.traitMasterReference();
- return getLayoutMasterSet().getSimplePageMaster(masterReference);
- }
-
- public PageSequenceMaster getPageSequenceMaster() {
- final String masterReference = this.traitMasterReference();
- return getLayoutMasterSet().getPageSequenceMaster(masterReference);
- }
-
/**
* {@inheritDoc}
*/
@@ -227,19 +225,6 @@
return new PageMasterResolver(this, lastPageNumber);
}
- private void setupPagination() throws FOTreeException {
- this.simplePageMaster = getSimplePageMaster();
- if (this.simplePageMaster == null) {
- pageSequenceMaster = getPageSequenceMaster();
- if (pageSequenceMaster == null) {
- throwException("master-reference '" + traitMasterReference()
- + "' for fo:page-sequence matches no "
- + "simple-page-master or page-sequence-master");
- }
- pageSequenceMaster.reset();
- }
- }
-
/**
* {@inheritDoc}
*/
@@ -267,11 +252,7 @@
*/
protected AbstractPageMaster flowValid(final AbstractFlow flow) {
final Set pageMasters;
- if (this.getSimplePageMaster() != null) {
- pageMasters = this.getSimplePageMaster().getPages();
- } else {
- pageMasters = this.getPageSequenceMaster().getPages();
- }
+ pageMasters = this.pageSequenceTemplate.getPages();
final Iterator iterator = pageMasters.iterator();
while (iterator.hasNext()) {
final AbstractPageMaster pageMaster = (AbstractPageMaster)
@@ -283,4 +264,12 @@
return null;
}
+ /**
+ * Returns the page sequence template for this page sequence.
+ * @return Returns the pageSequenceTemplate.
+ */
+ public PageSequenceTemplate getPageSequenceTemplate() {
+ return this.pageSequenceTemplate;
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|