]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Add generics to layout
authorSimon Steiner <ssteiner@apache.org>
Wed, 26 Jun 2024 14:56:55 +0000 (15:56 +0100)
committerSimon Steiner <ssteiner@apache.org>
Wed, 26 Jun 2024 14:56:55 +0000 (15:56 +0100)
18 files changed:
fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java
fop-core/src/main/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/ElementListUtils.java
fop-core/src/main/java/org/apache/fop/layoutmgr/InlineKnuthSequence.java
fop-core/src/main/java/org/apache/fop/layoutmgr/LayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java
fop-core/src/main/java/org/apache/fop/layoutmgr/inline/ContentLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLevelLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableCellLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableStepper.java

index 3fc3951fc2d068dad14b4a4a92ec3db7ffd2e1c7..e86d9cf50ddf24ffc27ba7ba24bc82eb75ad2d75 100644 (file)
@@ -41,7 +41,7 @@ public abstract class AbstractBreaker {
 
     protected LayoutManager originalRestartAtLM;
     protected Position positionAtBreak;
-    protected List firstElementsForRestart;
+    protected List<ListElement> firstElementsForRestart;
     protected PageSequenceLayoutManager pslm;
 
     /**
index cecc3211e261ca68059547d46bda71fc0bb970d6..9a6c7dc8f0a5431e516de08e1aa3a98b96f6fb3a 100644 (file)
@@ -991,7 +991,7 @@ public abstract class BlockStackingLayoutManager extends AbstractLayoutManager
      * @param isFirst true if this is the first time a layout manager instance needs to generate
      *                border and padding
      */
-    protected void addKnuthElementsForBorderPaddingBefore(List returnList, boolean isFirst) {
+    protected void addKnuthElementsForBorderPaddingBefore(List<ListElement> returnList, boolean isFirst) {
         //Border and Padding (before)
         CommonBorderPaddingBackground borderAndPadding = getBorderPaddingBackground();
         if (borderAndPadding != null) {
@@ -1018,7 +1018,7 @@ public abstract class BlockStackingLayoutManager extends AbstractLayoutManager
      * @param isLast true if this is the last time a layout manager instance needs to generate
      *               border and padding
      */
-    protected void addKnuthElementsForBorderPaddingAfter(List returnList, boolean isLast) {
+    protected void addKnuthElementsForBorderPaddingAfter(List<ListElement> returnList, boolean isLast) {
         //Border and Padding (after)
         CommonBorderPaddingBackground borderAndPadding = getBorderPaddingBackground();
         if (borderAndPadding != null) {
index 3920481e714b19ed268af8c9f68875e17ed34d21..479d80b91cd8abf6c75e3b6df11e1786c26c54ca 100644 (file)
@@ -42,7 +42,7 @@ public final class ElementListUtils {
      * @param constraint min/opt/max value to restrict the range in which the breaks are removed.
      * @return true if the opt constraint is bigger than the list contents
      */
-    public static boolean removeLegalBreaks(List elements, MinOptMax constraint) {
+    public static boolean removeLegalBreaks(List<ListElement> elements, MinOptMax constraint) {
         return removeLegalBreaks(elements, constraint.getOpt());
     }
 
@@ -140,7 +140,7 @@ public final class ElementListUtils {
      * @param end element at which to stop
      * @return the content length
      */
-    public static int calcContentLength(List elems, int start, int end) {
+    public static int calcContentLength(List<ListElement> elems, int start, int end) {
         ListIterator iter = elems.listIterator(start);
         int count = end - start + 1;
         int len = 0;
@@ -177,7 +177,7 @@ public final class ElementListUtils {
      * @param elems the element list
      * @return true if the list ends with a forced break
      */
-    public static boolean endsWithForcedBreak(List elems) {
+    public static boolean endsWithForcedBreak(List<ListElement> elems) {
         ListElement last = ListUtil.getLastListElement(elems);
         return last == null || last.isForcedBreak();
     }
@@ -187,8 +187,8 @@ public final class ElementListUtils {
      * @param elems the element list
      * @return true if the list starts with a forced break
      */
-    public static boolean startsWithForcedBreak(List elems) {
-        return !elems.isEmpty() && ((ListElement) elems.get(0)).isForcedBreak();
+    public static boolean startsWithForcedBreak(List<ListElement> elems) {
+        return !elems.isEmpty() && elems.get(0).isForcedBreak();
     }
 
     /**
@@ -197,8 +197,8 @@ public final class ElementListUtils {
      * @param elems the element list
      * @return true if the list ends with a non-infinite penalty
      */
-    public static boolean endsWithNonInfinitePenalty(List elems) {
-        ListElement last = (ListElement) ListUtil.getLast(elems);
+    public static boolean endsWithNonInfinitePenalty(List<ListElement> elems) {
+        ListElement last = ListUtil.getLast(elems);
         if (last.isPenalty() && ((KnuthPenalty)last).getPenalty() < KnuthElement.INFINITE) {
             return true;
         } else if (last instanceof BreakElement
@@ -215,7 +215,7 @@ public final class ElementListUtils {
      * @param startIndex the start index
      * @return the position of the previous break, or -1 if there was no previous break
      */
-    public static int determinePreviousBreak(List elems, int startIndex) {
+    public static int determinePreviousBreak(List<ListElement> elems, int startIndex) {
         int prevBreak = startIndex - 1;
         while (prevBreak >= 0) {
             KnuthElement el = (KnuthElement)elems.get(prevBreak);
index 5e0bd37ebd93e26f00b92dd7949b2670f7eeca30..23e567df785e07225e477b11c4c0f2c1d4e60ee6 100644 (file)
@@ -114,7 +114,7 @@ public class InlineKnuthSequence<T extends ListElement> extends KnuthSequence  {
             return;
         }
         removeLast();
-        LinkedList oldList = new LinkedList();
+        LinkedList<ListElement> oldList = new LinkedList<>();
         // if there are two consecutive KnuthBoxes the
         // first one does not represent a whole word,
         // so it must be given one more letter space
index 3adaceebc5cb5fd0d1c4e0de6ddb0fba17034997..065b89863fa56ec40ff9772fe465415987502af2 100644 (file)
@@ -114,7 +114,7 @@ public interface LayoutManager extends PercentBaseContext {
     /**
      * @return the list of child LMs
      */
-    List getChildLMs();
+    List<LayoutManager> getChildLMs();
 
     /**
      * Add the LM in the argument to the list of child LMs;
@@ -128,7 +128,7 @@ public interface LayoutManager extends PercentBaseContext {
      * Add the LMs in the argument to the list of child LMs;
      * @param newLMs the list of LMs to be added
      */
-    void addChildLMs(List newLMs);
+    void addChildLMs(List<LayoutManager> newLMs);
 
     /**
      * Get a sequence of KnuthElements representing the content
index 3f246adfb3f80cd7d0e614d69958848f33df8596..1f2d57bdb0feef8ee52551d9296c1883bbb0299e 100644 (file)
@@ -161,7 +161,7 @@ public class PageBreaker extends AbstractBreaker {
 
     /** {@inheritDoc} */
     protected int getNextBlockList(LayoutContext childLC, int nextSequenceStartsOn,
-            Position positionAtIPDChange, LayoutManager restartLM, List firstElements) {
+            Position positionAtIPDChange, LayoutManager restartLM, List<ListElement> firstElements) {
         if (!layoutRedone && !handlingFloat()) {
             if (!firstPart) {
                 // if this is the first page that will be created by
@@ -180,7 +180,7 @@ public class PageBreaker extends AbstractBreaker {
                 restartLM, firstElements);
     }
 
-    private boolean containsFootnotes(List contentList, LayoutContext context) {
+    private boolean containsFootnotes(List<ListElement> contentList, LayoutContext context) {
         boolean containsFootnotes = false;
         if (contentList != null) {
             for (Object aContentList : contentList) {
index ba520c5bc088304613e3ff61df30b0aef3f8e729..881f596e91063685c604b509a62777bf5d797002 100644 (file)
@@ -219,7 +219,7 @@ public class ContentLayoutManager extends AbstractBaseLayoutManager
     /**
      * {@inheritDoc}
      */
-    public List getChildLMs() {
+    public List<LayoutManager> getChildLMs() {
         List childLMs = new ArrayList(1);
         childLMs.add(childLM);
         return childLMs;
@@ -241,7 +241,7 @@ public class ContentLayoutManager extends AbstractBaseLayoutManager
     /**
      * {@inheritDoc}
      */
-    public void addChildLMs(List newLMs) {
+    public void addChildLMs(List<LayoutManager> newLMs) {
         if (newLMs == null || newLMs.size() == 0) {
             return;
         }
index e589ab0b99be042b21c0c37953f8f4b43ad683f2..4fb3ba18efd7088cb6db9877679d42723f23ba02 100644 (file)
@@ -296,11 +296,11 @@ public class InlineContainerLayoutManager extends AbstractLayoutManager implemen
         return true;
     }
 
-    public List addALetterSpaceTo(List oldList) {
+    public List<ListElement> addALetterSpaceTo(List<ListElement> oldList) {
         return oldList;
     }
 
-    public List addALetterSpaceTo(List oldList, int depth) {
+    public List<ListElement> addALetterSpaceTo(List<ListElement> oldList, int depth) {
         return oldList;
     }
 
@@ -311,11 +311,11 @@ public class InlineContainerLayoutManager extends AbstractLayoutManager implemen
     public void hyphenate(Position pos, HyphContext hyphContext) {
     }
 
-    public boolean applyChanges(List oldList) {
+    public boolean applyChanges(List<ListElement> oldList) {
         return false;
     }
 
-    public boolean applyChanges(List oldList, int depth) {
+    public boolean applyChanges(List<ListElement> oldList, int depth) {
         return false;
     }
 
index 360c1816e8f9145a0720a35f71d2bce47ee5993c..a718312f2bf712bf49321d0f6f70f9bf7f614ce9 100644 (file)
@@ -579,7 +579,7 @@ public class InlineLayoutManager extends InlineStackingLayoutManager {
      * Creates Knuth elements for start border padding and adds them to the return list.
      * @param returnList return list to add the additional elements to
      */
-    protected void addKnuthElementsForBorderPaddingStart(List returnList) {
+    protected void addKnuthElementsForBorderPaddingStart(List<ListElement> returnList) {
         //Border and Padding (start)
         /*
          * If the returnlist is a BlockKnuthSequence, the border and padding should be added
@@ -604,7 +604,7 @@ public class InlineLayoutManager extends InlineStackingLayoutManager {
      * Creates Knuth elements for end border padding and adds them to the return list.
      * @param returnList return list to add the additional elements to
      */
-    protected void addKnuthElementsForBorderPaddingEnd(List returnList) {
+    protected void addKnuthElementsForBorderPaddingEnd(List<ListElement> returnList) {
         //Border and Padding (after)
         /*
          * If the returnlist is a BlockKnuthSequence, the border and padding should be added
index addad2b924aa48f8be29d76b771bc0c90a5da98f..6e782c71e55258feda549f27d538b31303d7725b 100644 (file)
@@ -38,7 +38,7 @@ public interface InlineLevelLayoutManager extends LayoutManager {
      * @param oldList the elements which must be given one more letter space
      * @return        the new elements replacing the old ones
      */
-    List addALetterSpaceTo(List oldList);
+    List<ListElement> addALetterSpaceTo(List<ListElement> oldList);
 
     /**
      * Tell the LM to modify its data, adding a letter space
@@ -49,7 +49,7 @@ public interface InlineLevelLayoutManager extends LayoutManager {
      * @param depth the depth at which the Positions for this LM in oldList are found
      * @return        the new elements replacing the old ones
      */
-List addALetterSpaceTo(List oldList, int depth);
+    List<ListElement> addALetterSpaceTo(List<ListElement> oldList, int depth);
 
     /**
      * Get the word chars corresponding to the given position.
@@ -73,7 +73,7 @@ List addALetterSpaceTo(List oldList, int depth);
      * @param oldList the list of the old elements the changes refer to
      * @return        true if the LM had to change its data, false otherwise
      */
-    boolean applyChanges(List oldList);
+    boolean applyChanges(List<ListElement> oldList);
 
     /**
      * Tell the LM to apply the changes due to hyphenation
@@ -82,7 +82,7 @@ List addALetterSpaceTo(List oldList, int depth);
      * @param depth the depth at which the Positions for this LM in oldList are found
      * @return        true if the LM had to change its data, false otherwise
      */
-    boolean applyChanges(List oldList, int depth);
+    boolean applyChanges(List<ListElement> oldList, int depth);
 
     /**
      * Get a sequence of KnuthElements representing the content
index d0ee9104b327ba7e6970011941644aa8dc2d42b6..df733d358a3105c564795824f17ffed7989bcf83 100644 (file)
@@ -196,12 +196,12 @@ public abstract class InlineStackingLayoutManager extends AbstractLayoutManager
     }
 
     /** {@inheritDoc} */
-    public List addALetterSpaceTo(List oldList) {
+    public List<ListElement> addALetterSpaceTo(List<ListElement> oldList) {
         return addALetterSpaceTo(oldList, 0);
     }
 
     /** {@inheritDoc} */
-    public List addALetterSpaceTo(List oldList, int thisDepth) {
+    public List<ListElement> addALetterSpaceTo(List<ListElement> oldList, int thisDepth) {
         // old list contains only a box, or the sequence: box penalty glue box
 
         ListIterator oldListIterator = oldList.listIterator(oldList.size());
@@ -253,12 +253,12 @@ public abstract class InlineStackingLayoutManager extends AbstractLayoutManager
     }
 
     /** {@inheritDoc} */
-    public boolean applyChanges(List oldList) {
+    public boolean applyChanges(List<ListElement> oldList) {
         return applyChanges(oldList, 0);
     }
 
     /** {@inheritDoc} */
-    public boolean applyChanges(List oldList, int depth) {
+    public boolean applyChanges(List<ListElement> oldList, int depth) {
         ListIterator oldListIterator = oldList.listIterator();
         KnuthElement oldElement;
         depth += 1;
@@ -334,7 +334,7 @@ public abstract class InlineStackingLayoutManager extends AbstractLayoutManager
 
         KnuthElement returnedElement;
         LinkedList returnedList = new LinkedList();
-        LinkedList returnList = new LinkedList();
+        LinkedList<ListElement> returnList = new LinkedList<>();
         InlineLevelLayoutManager prevLM = null;
         InlineLevelLayoutManager currLM;
         int fromIndex = 0;
index 0ccea38407db0e6eee183b636eea1c816ff5b2e4..d9b163154b11a04cdfeb3d61ad3e1b8d89963987 100644 (file)
@@ -54,7 +54,7 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
     private Leader fobj;
     private Font font;
 
-    private List contentList;
+    private List<ListElement> contentList;
     private ContentLayoutManager clm;
 
     private int contentAreaIPD;
@@ -314,7 +314,7 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public boolean applyChanges(List oldList) {
+    public boolean applyChanges(List<ListElement> oldList) {
         setFinished(false);
         return false;
     }
@@ -325,7 +325,7 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
             return null;
         }
 
-        List returnList = new LinkedList();
+        List<ListElement> returnList = new LinkedList<>();
 
         addKnuthElementsForBorderPaddingStart(returnList);
 
index 04c6fd72c48348a9baa8856565ff878c922e1411..f8ef59e4c5863de4db6bc863a4a651dd42c70055 100644 (file)
@@ -288,7 +288,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager
     }
 
     /** {@inheritDoc} */
-    public List addALetterSpaceTo(List oldList) {
+    public List<ListElement> addALetterSpaceTo(List<ListElement> oldList) {
         // return the unchanged elements
         return oldList;
     }
@@ -297,7 +297,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager
      * {@inheritDoc}
      * Only TextLM has a meaningful implementation of this method
      */
-    public List addALetterSpaceTo(List oldList, int depth) {
+    public List<ListElement> addALetterSpaceTo(List<ListElement> oldList, int depth) {
         return addALetterSpaceTo(oldList);
     }
 
@@ -311,7 +311,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager
     }
 
     /** {@inheritDoc} */
-    public boolean applyChanges(List oldList) {
+    public boolean applyChanges(List<ListElement> oldList) {
         setFinished(false);
         return false;
     }
@@ -320,7 +320,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager
      * {@inheritDoc}
      * Only TextLM has a meaningful implementation of this method
      */
-    public boolean applyChanges(List oldList, int depth) {
+    public boolean applyChanges(List<ListElement> oldList, int depth) {
         return applyChanges(oldList);
     }
 
@@ -358,7 +358,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager
      * Creates Knuth elements for start border padding and adds them to the return list.
      * @param returnList return list to add the additional elements to
      */
-    protected void addKnuthElementsForBorderPaddingStart(List returnList) {
+    protected void addKnuthElementsForBorderPaddingStart(List<ListElement> returnList) {
         //Border and Padding (start)
         if (commonBorderPaddingBackground != null) {
             int ipStart = commonBorderPaddingBackground.getBorderStartWidth(false)
@@ -376,7 +376,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager
      * Creates Knuth elements for end border padding and adds them to the return list.
      * @param returnList return list to add the additional elements to
      */
-    protected void addKnuthElementsForBorderPaddingEnd(List returnList) {
+    protected void addKnuthElementsForBorderPaddingEnd(List<ListElement> returnList) {
         //Border and Padding (after)
         if (commonBorderPaddingBackground != null) {
             int ipEnd = commonBorderPaddingBackground.getBorderEndWidth(false)
index e6b64cb2d2215433f2324cb73b00846135774bfa..35a63a9e5bb6e89091146065e5d3cc9af9e29c6a 100644 (file)
@@ -990,12 +990,12 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public List addALetterSpaceTo(List oldList) {
+    public List<ListElement> addALetterSpaceTo(List<ListElement> oldList) {
         return addALetterSpaceTo(oldList, 0);
     }
 
     /** {@inheritDoc} */
-    public List addALetterSpaceTo(final List oldList, int depth) {
+    public List<ListElement> addALetterSpaceTo(final List<ListElement> oldList, int depth) {
         // old list contains only a box, or the sequence: box penalty glue box;
         // look at the Position stored in the first element in oldList
         // which is always a box
@@ -1113,12 +1113,12 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public boolean applyChanges(final List oldList) {
+    public boolean applyChanges(final List<ListElement> oldList) {
         return applyChanges(oldList, 0);
     }
 
     /** {@inheritDoc} */
-    public boolean applyChanges(final List oldList, int depth) {
+    public boolean applyChanges(final List<ListElement> oldList, int depth) {
 
         // make sure the LM appears unfinished in between this call
         // and the next call to getChangedKnuthElements()
@@ -1195,7 +1195,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
             return null;
         }
 
-        final LinkedList returnList = new LinkedList();
+        final LinkedList<ListElement> returnList = new LinkedList<>();
 
         for (; returnedIndices[0] <= returnedIndices[1]; returnedIndices[0]++) {
             GlyphMapping mapping = getGlyphMapping(returnedIndices[0]);
index 94764ed4a5c5469a5022e38e6adf824134a1851e..91f7b3678704ed1b5eda2466e35dcc2942864c66 100644 (file)
@@ -508,7 +508,7 @@ public class ListItemLayoutManager extends SpacedBorderedPaddedBlockLayoutManage
         return retval;
     }
 
-    private boolean shouldWeAvoidBreak(List returnList, LayoutManager lm) {
+    private boolean shouldWeAvoidBreak(List<ListElement> returnList, LayoutManager lm) {
         if (isChangingIPD(lm)) {
             if (lm instanceof BlockLayoutManager) {
                 return true;
index b62e066d83e9e9c0119fd167540079a009c9e8d4..14485361d9aa1da0ed1307e4b3c4c0f9f79fafe8 100644 (file)
@@ -177,7 +177,7 @@ public class TableCellLayoutManager extends BlockStackingLayoutManager {
         cellIPD -= getIPIndents();
 
         List returnedList;
-        List contentList = new LinkedList();
+        List<ListElement> contentList = new LinkedList<>();
         List<ListElement> returnList = new LinkedList<>();
 
         LayoutManager curLM; // currently active LM
index 03d27b1469a461c2893d6b8dab358152bc08ec0d..3f96eba5f7ee237bbe7d433046883fea61b690e9 100644 (file)
@@ -256,7 +256,7 @@ public class TableContentLayoutManager implements PercentBaseContext {
      */
     private LinkedList getKnuthElementsForRowIterator(TableRowIterator iter,
             LayoutContext context, int alignment, int bodyType) {
-        LinkedList returnList = new LinkedList();
+        LinkedList<ListElement> returnList = new LinkedList<>();
         EffRow[] rowGroup = iter.getNextRowGroup();
         // TODO homogenize the handling of keeps and breaks
         context.clearKeepsPending();
index 3261a0afbd4c50a1f214bba5b0e763b116eca74e..ed9a29ad66b5e76fcb848be7f6da99b65c34ad19 100644 (file)
@@ -39,6 +39,7 @@ import org.apache.fop.layoutmgr.KnuthGlue;
 import org.apache.fop.layoutmgr.KnuthPenalty;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.LayoutManager;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.Position;
 import org.apache.fop.util.BreakUtil;
 
@@ -182,7 +183,7 @@ public class TableStepper {
 
         int cumulateLength = 0; // Length of the content accumulated before the break
         TableContentPosition lastTCPos = null;
-        LinkedList returnList = new LinkedList();
+        LinkedList<ListElement> returnList = new LinkedList<>();
         int laststep = 0;
         int step = getFirstStep();
         do {