]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
String->int conversion and a few other simplifications to fo.Region* classes.
authorGlen Mazza <gmazza@apache.org>
Sun, 9 May 2004 20:45:15 +0000 (20:45 +0000)
committerGlen Mazza <gmazza@apache.org>
Sun, 9 May 2004 20:45:15 +0000 (20:45 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197575 13f79535-47bb-0310-9956-ffa450edef68

13 files changed:
src/java/org/apache/fop/fo/pagination/LayoutMasterSet.java
src/java/org/apache/fop/fo/pagination/Region.java
src/java/org/apache/fop/fo/pagination/RegionAfter.java
src/java/org/apache/fop/fo/pagination/RegionBA.java
src/java/org/apache/fop/fo/pagination/RegionBASE.java
src/java/org/apache/fop/fo/pagination/RegionBefore.java
src/java/org/apache/fop/fo/pagination/RegionBody.java
src/java/org/apache/fop/fo/pagination/RegionEnd.java
src/java/org/apache/fop/fo/pagination/RegionSE.java
src/java/org/apache/fop/fo/pagination/RegionStart.java
src/java/org/apache/fop/fo/pagination/SimplePageMaster.java
src/java/org/apache/fop/layoutmgr/PageLayoutManager.java
src/java/org/apache/fop/render/rtf/PageAttributesConverter.java

index 0e6069be9fdf2ebceed59e0ee85833c6472ef148..4ad02daab28a28e3651be04cd8ebf2fd18f1aeb6 100644 (file)
@@ -140,11 +140,12 @@ public class LayoutMasterSet extends FObj {
     }
 
     /**
-     * Section 7.33.15: check to see that if a region-name is a
-     * duplicate, that it maps to the same region-class.
+     * Section 7.25.7: check to see that if a region-name is a
+     * duplicate, that it maps to the same fo region-class.
      * @throws FOPException if there's a name duplication
      */
     public void checkRegionNames() throws FOPException {
+        // (user-entered) region-name to default region map.
         Map allRegions = new java.util.HashMap();
         for (Iterator spm = simplePageMasters.values().iterator();
                 spm.hasNext();) {
@@ -153,22 +154,22 @@ public class LayoutMasterSet extends FObj {
             Map spmRegions = simplePageMaster.getRegions();
             for (Iterator e = spmRegions.values().iterator();
                     e.hasNext();) {
-                Region region = (Region)e.next();
+                Region region = (Region) e.next();
                 if (allRegions.containsKey(region.getRegionName())) {
-                    String localClass =
-                        (String)allRegions.get(region.getRegionName());
-                    if (!localClass.equals(region.getRegionClass())) {
-                        throw new FOPException("Duplicate region-names ("
+                    String defaultRegionName =
+                        (String) allRegions.get(region.getRegionName());
+                    if (!defaultRegionName.equals(region.getDefaultRegionName())) {
+                        throw new FOPException("Region-name ("
                                                + region.getRegionName()
-                                               + ") must map "
-                                               + "to the same region-class ("
-                                               + localClass + "!="
-                                               + region.getRegionClass()
+                                               + ") is being mapped to multiple "
+                                               + "region-classes ("
+                                               + defaultRegionName + " and "
+                                               + region.getDefaultRegionName()
                                                + ")");
                     }
                 }
                 allRegions.put(region.getRegionName(),
-                               region.getRegionClass());
+                               region.getDefaultRegionName());
             }
         }
     }
index ce68429450d0ad9bdde955ca88ec9b76820c26b3..bccd5402fca4c25b990826208822e95618cf16b1 100644 (file)
@@ -32,17 +32,6 @@ import org.xml.sax.Attributes;
  */
 public abstract class Region extends FObj {
 
-    /** Key for before regions */
-    public static final String BEFORE = "before";
-    /** Key for start regions */
-    public static final String START =  "start";
-    /** Key for end regions */
-    public static final String END =    "end";
-    /** Key for after regions */
-    public static final String AFTER =  "after";
-    /** Key for body regions */
-    public static final String BODY =   "body";
-
     /* The following codes correspond to those found in area/RegionReference */
     /** Integer Code for before regions */
     public static final int BEFORE_CODE = 0;
@@ -56,6 +45,7 @@ public abstract class Region extends FObj {
     public static final int AFTER_CODE = 4;
 
     private SimplePageMaster layoutMaster;
+    private int regionId = -1;
     private String regionName;
 
     /** Holds the overflow attribute */
@@ -66,8 +56,9 @@ public abstract class Region extends FObj {
     /**
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
-    protected Region(FONode parent) {
+    protected Region(FONode parent, int id) {
         super(parent);
+        regionId = id;
     }
 
     /**
@@ -115,13 +106,6 @@ public abstract class Region extends FObj {
      */
     protected abstract String getDefaultRegionName();
 
-
-    /**
-     * Returns the region class name.
-     * @return the region class name
-     */
-    public abstract String getRegionClass();
-
     /**
      * Returns the region class code.
      * @return the region class code
@@ -179,9 +163,9 @@ public abstract class Region extends FObj {
      * @param regionClass the class of the requested region
      * @return the requested region
      */
-    protected Region getSiblingRegion(String regionClass) {
+    protected Region getSiblingRegion(int regionId) {
         // Ask parent for region
-        return  layoutMaster.getRegion(regionClass);
+        return  layoutMaster.getRegion(regionId);
     }
 
     /**
index c857da826406af163031ce153df82eb24627864b..38049c3e6c4f76eed1d13a9559001102f776da7a 100644 (file)
@@ -35,7 +35,7 @@ public class RegionAfter extends RegionBA {
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
     public RegionAfter(FONode parent) {
-        super(parent);
+        super(parent, Region.AFTER_CODE);
     }
 
     /**
@@ -62,13 +62,6 @@ public class RegionAfter extends RegionBA {
         return "xsl-region-after";
     }
 
-    /**
-     * @see org.apache.fop.fo.pagination.Region#getRegionClass()
-     */
-    public String getRegionClass() {
-        return Region.AFTER;
-    }
-
     /**
      * @see org.apache.fop.fo.pagination.Region#getRegionClassCode()
      */
index ebd91d3080758ce12be24bb48b27053166b38b2e..ca9622af35250699d530d6031f6d8ce28ea1da4b 100644 (file)
@@ -35,8 +35,8 @@ public abstract class RegionBA extends RegionBASE {
     /**
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
-    protected RegionBA(FONode parent) {
-        super(parent);
+    protected RegionBA(FONode parent, int regionId) {
+        super(parent, regionId);
     }
 
     /**
index 6949496434b7aedca4357974fb9de3eeb0179a54..a411d10980d6b9e70ac2e94060991bbdd3d19df5 100644 (file)
@@ -32,8 +32,8 @@ public abstract class RegionBASE extends Region {
     /**
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
-    protected RegionBASE(FONode parent) {
-        super(parent);
+    protected RegionBASE(FONode parent, int regionId) {
+        super(parent, regionId);
     }
 
     /**
index a0d1d378655f8bf0e34742c5fa58a445c40126e5..f9d3ec66f98281cdcb75708e43ff79aeba3256a9 100644 (file)
@@ -35,7 +35,7 @@ public class RegionBefore extends RegionBA {
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
     public RegionBefore(FONode parent) {
-        super(parent);
+        super(parent, Region.BEFORE_CODE);
     }
 
     /**
@@ -45,13 +45,6 @@ public class RegionBefore extends RegionBA {
         return "xsl-region-before";
     }
 
-    /**
-     * @see org.apache.fop.fo.pagination.Region#getRegionClass()
-     */
-    public String getRegionClass() {
-        return Region.BEFORE;
-    }
-
     /**
      * @see org.apache.fop.fo.pagination.Region#getRegionClassCode()
      */
index 0f7e840ad0eacc53b86ce48a1daf438b52337e30..6de00eb60a75c5512f8f8d23327aa2e303d88dc1 100644 (file)
@@ -41,7 +41,7 @@ public class RegionBody extends Region {
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
     public RegionBody(FONode parent) {
-        super(parent);
+        super(parent, Region.BODY_CODE);
     }
 
     /**
@@ -95,13 +95,6 @@ public class RegionBody extends Region {
         return "xsl-region-body";
     }
 
-    /**
-     * @see org.apache.fop.fo.pagination.Region#getRegionClass()
-     */
-    public String getRegionClass() {
-        return Region.BODY;
-    }
-
     /**
      * @see org.apache.fop.fo.pagination.Region#getRegionClassCode()
      */
index d29e5587062f9430bde0d4f6c6b1e1e397881fa7..597517c5d6ebfdd45c6cc6b4af340990e3767ad3 100644 (file)
@@ -36,7 +36,7 @@ public class RegionEnd extends RegionSE {
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
     public RegionEnd(FONode parent) {
-        super(parent);
+        super(parent, Region.END_CODE);
     }
 
     /**
@@ -63,13 +63,6 @@ public class RegionEnd extends RegionSE {
         return "xsl-region-end";
     }
 
-    /**
-     * @see org.apache.fop.fo.pagination.Region#getRegionClass()
-     */
-    public String getRegionClass() {
-        return Region.END;
-    }
-
     /**
      * @see org.apache.fop.fo.pagination.Region#getRegionClassCode()
      */
index e2c9d34e97b86dc96eac83f4c4635f49e1e86116..98040d54171c629f0c4dbc88dc7217ac67b221de 100644 (file)
@@ -33,8 +33,8 @@ public abstract class RegionSE extends RegionBASE {
     /**
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
-    protected RegionSE(FONode parent) {
-        super(parent);
+    protected RegionSE(FONode parent, int regionId) {
+        super(parent, regionId);
     }
 
     /**
index fbdb76533293ef76e7d8b1d07d275d936af257f4..9fb29b1b5d4777b4e8e98a5faa974026e4e9c838 100644 (file)
@@ -35,7 +35,7 @@ public class RegionStart extends RegionSE {
      * @see org.apache.fop.fo.FONode#FONode(FONode)
      */
     public RegionStart(FONode parent) {
-        super(parent);
+        super(parent, Region.START_CODE);
     }
 
     /**
@@ -62,13 +62,6 @@ public class RegionStart extends RegionSE {
         return "xsl-region-start";
     }
 
-    /**
-     * @see org.apache.fop.fo.pagination.Region#getRegionClass()
-     */
-    public String getRegionClass() {
-        return Region.START;
-    }
-
     /**
      * @see org.apache.fop.fo.pagination.Region#getRegionClassCode()
      */
index a9100e557da7c4b8b114daab64aae30f8ca7dfbd..542a91261cfcdc9644e508ccf014ba33aa157557 100644 (file)
@@ -108,9 +108,9 @@ public class SimplePageMaster extends FObj {
      * @param region region to add
      */
     protected void addRegion(Region region) {
-        String key = region.getRegionClass();
+        String key = String.valueOf(region.getRegionClassCode());
         if (regions.containsKey(key)) {
-            getLogger().error("Only one region of class " + key
+            getLogger().error("Only one region of class " + region.getRegionName()
                     + " allowed within a simple-page-master. The duplicate"
                     + " region (" + region.getName() + ") is ignored.");
         } else {
@@ -123,8 +123,8 @@ public class SimplePageMaster extends FObj {
      * @param regionClass region class to lookup
      * @return the region, null if it doesn't exist
      */
-    public Region getRegion(String regionClass) {
-        return (Region)regions.get(regionClass);
+    public Region getRegion(int regionId) {
+        return (Region) regions.get(String.valueOf(regionId));
     }
 
     /**
index 84f0fe1217faf61e06894c06294c3938ad9afd0f..958834654d5c61af837f50c10c1b368edf8e9944 100644 (file)
@@ -489,13 +489,13 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable
         }
         // Layout static content into the regions
         // Need help from pageseq for this
-        layoutStaticContent(currentSimplePageMaster.getRegion(Region.BEFORE),
+        layoutStaticContent(currentSimplePageMaster.getRegion(Region.BEFORE_CODE),
                             Region.BEFORE_CODE);
-        layoutStaticContent(currentSimplePageMaster.getRegion(Region.AFTER),
+        layoutStaticContent(currentSimplePageMaster.getRegion(Region.AFTER_CODE),
                             Region.AFTER_CODE);
-        layoutStaticContent(currentSimplePageMaster.getRegion(Region.START),
+        layoutStaticContent(currentSimplePageMaster.getRegion(Region.START_CODE),
                             Region.START_CODE);
-        layoutStaticContent(currentSimplePageMaster.getRegion(Region.END),
+        layoutStaticContent(currentSimplePageMaster.getRegion(Region.END_CODE),
                             Region.END_CODE);
         // Queue for ID resolution and rendering
         areaTree.addPage(curPage);
@@ -706,7 +706,7 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable
     private PageViewport createPage(boolean bIsBlank, boolean bIsLast)
                                    throws FOPException {
         currentSimplePageMaster = getSimplePageMasterToUse(bIsBlank);
-        Region body = currentSimplePageMaster.getRegion(Region.BODY);
+        Region body = currentSimplePageMaster.getRegion(Region.BODY_CODE);
         if (!pageSequence.getMainFlow().getFlowName().equals(body.getRegionName())) {
           throw new FOPException("Flow '" + pageSequence.getMainFlow().getFlowName()
                                  + "' does not map to the region-body in page-master '"
index fb34f94133fc74d0c370f4aea70765ee0bb0cd33..5220bb1bcd9d78278a2834cb85174b1cb245fdb9 100644 (file)
@@ -55,9 +55,9 @@ class PageAttributesConverter {
             Property p = null;
             Float f = null;
             
-            Region before = pagemaster.getRegion("before");
-            Region body   = pagemaster.getRegion("body");
-            Region after  = pagemaster.getRegion("after");
+            Region before = pagemaster.getRegion(Region.BEFORE_CODE);
+            Region body   = pagemaster.getRegion(Region.BODY_CODE);
+            Region after  = pagemaster.getRegion(Region.AFTER_CODE);
             
             //page attributes
             props = pagemaster.propertyList;