foray-commit Mailing List for FOray (Page 66)
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
(139) |
Apr
(98) |
May
(250) |
Jun
(394) |
Jul
(84) |
Aug
(13) |
Sep
(420) |
Oct
(186) |
Nov
(1) |
Dec
(3) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(108) |
Feb
(202) |
Mar
(291) |
Apr
(247) |
May
(374) |
Jun
(227) |
Jul
(231) |
Aug
(60) |
Sep
(31) |
Oct
(45) |
Nov
(18) |
Dec
|
| 2008 |
Jan
(38) |
Feb
(71) |
Mar
(142) |
Apr
|
May
(59) |
Jun
(6) |
Jul
(10) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
(12) |
Feb
(4) |
Mar
(88) |
Apr
(121) |
May
(17) |
Jun
(30) |
Jul
|
Aug
(5) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2010 |
Jan
(11) |
Feb
(76) |
Mar
(11) |
Apr
|
May
(11) |
Jun
|
Jul
|
Aug
(44) |
Sep
(14) |
Oct
(7) |
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(168) |
| 2017 |
Jan
(77) |
Feb
(11) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
(6) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
(88) |
Mar
(118) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(141) |
| 2021 |
Jan
(170) |
Feb
(20) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(62) |
Nov
(189) |
Dec
(162) |
| 2022 |
Jan
(201) |
Feb
(118) |
Mar
(8) |
Apr
|
May
(2) |
Jun
(47) |
Jul
(19) |
Aug
(14) |
Sep
(3) |
Oct
|
Nov
(28) |
Dec
(235) |
| 2023 |
Jan
(112) |
Feb
(23) |
Mar
(2) |
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
(70) |
Sep
(92) |
Oct
(20) |
Nov
(1) |
Dec
(1) |
| 2024 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(14) |
Jun
(11) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
(10) |
Feb
(29) |
Mar
|
Apr
(162) |
May
(245) |
Jun
(83) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(4) |
Dec
|
|
From: <vic...@us...> - 2021-12-20 17:18:42
|
Revision: 12252
http://sourceforge.net/p/foray/code/12252
Author: victormote
Date: 2021-12-20 17:18:39 +0000 (Mon, 20 Dec 2021)
Log Message:
-----------
Conform to aXSL change: Roll LineBreakControl into ParaContext.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/BestFitLb.java
trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/FirstFitLb.java
trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/TotalFitLb.java
trunk/foray/foray-linebreak/src/main/java/org/foray/text/TextServer4a.java
trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/EagerLineBreaker.java
trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/LineBreaker.java
trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/solitary/SolitaryLineBreaker.java
trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/FirstFitLbTests.java
trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/LineBreaker4aTests.java
trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/TotalFitLbTests.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -51,7 +51,6 @@
import org.axsl.galley.GalleyVisitorException;
import org.axsl.galley.RenderVisitor;
import org.axsl.graphic.Graphic;
-import org.axsl.linebreak.LineBreakControl;
import java.awt.Color;
import java.util.ArrayList;
@@ -61,7 +60,7 @@
* This class represents a Block Area.
* A block area is made up of a sequence of Line Areas.
*/
-public final class NormalBlockArea4a extends BlockArea implements NormalBlockArea, LineBreakControl, ParaContext {
+public final class NormalBlockArea4a extends BlockArea implements NormalBlockArea, ParaContext {
/** The "generated-by" trait, as defined in Section 6.1.1. */
private BlockLink generatedBy;
@@ -530,11 +529,6 @@
}
@Override
- public LineBreakControl getLineBreakControl() {
- return this;
- }
-
- @Override
public int getCost(final DiscretionaryHyphen.Quality quality) {
/* TODO: This should be more configurable. */
return DiscretionaryHyphen4a.DEFAULT_PENALTY;
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/BestFitLb.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/BestFitLb.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/BestFitLb.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -30,7 +30,6 @@
import org.axsl.common.para.ParaBranch;
import org.axsl.common.para.ParaContext;
-import org.axsl.linebreak.LineBreakControl;
/**
* Implementation of the Knuth-Plass "best-fit" linebreaking algorithm.
@@ -39,8 +38,7 @@
public class BestFitLb extends LineBreaker4a {
@Override
- public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext,
- final LineBreakControl lbControl) {
+ public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext) {
return new LineBreakResult4a(null, null);
}
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/FirstFitLb.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/FirstFitLb.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/FirstFitLb.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -36,7 +36,6 @@
import org.axsl.common.para.ParaGlue;
import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaPenalty;
-import org.axsl.linebreak.LineBreakControl;
import java.util.ArrayList;
import java.util.List;
@@ -117,9 +116,6 @@
/** The configuration of the paragraph being processed. */
private ParaConfig paraConfig;
- /** The line-break control. */
- private LineBreakControl lbControl;
-
/** The paragraph context. */
private ParaContext paraContext;
@@ -126,15 +122,13 @@
/**
* Constructor.
* @param paraConfig The configuration of the paragraph being processed.
- * @param lbControl The linebreak control instance.
* @param paraContext The paragraph context instance.
*/
- private State(final ParaConfig paraConfig, final LineBreakControl lbControl, final ParaContext paraContext) {
+ private State(final ParaConfig paraConfig, final ParaContext paraContext) {
this.paraConfig = paraConfig;
- this.lbControl = lbControl;
this.paraContext = paraContext;
this.currentLineNumber = 1;
- this.lineLengths.append(lbControl.getLineLength(currentLineNumber));
+ this.lineLengths.append(this.paraContext.getLineLength(currentLineNumber));
}
/**
@@ -228,7 +222,7 @@
this.currentLineShrinkability = 0;
this.currentLineStretchability = 0;
this.currentLineNumber ++;
- this.lineLengths.append(this.lbControl.getLineLength(currentLineNumber));
+ this.lineLengths.append(this.paraContext.getLineLength(currentLineNumber));
}
/**
@@ -275,14 +269,13 @@
}
@Override
- public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext,
- final LineBreakControl lbControl) {
+ public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext) {
/* For purposes of this algorithm, "word" means the content between glue items, or, really, if (a) is non-glue,
* (b) is glue, (c) is non-glue, and (d) is glue, then (a) is the end of the previous word, and (b) and (c)
* together are the current word, and (d) is the beginning of the next word. */
final ParaConfig paraConfig = paragraph.getParaConfig();
- final State state = new State(paraConfig, lbControl, paraContext);
+ final State state = new State(paraConfig, paraContext);
final ListIterator<ParaLeaf> leafIterator = paragraph.leafIterator();
while (leafIterator.hasNext()) {
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/TotalFitLb.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/TotalFitLb.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/TotalFitLb.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -43,7 +43,6 @@
import org.axsl.common.para.ParaNode;
import org.axsl.common.para.ParaPenalty;
import org.axsl.linebreak.KpFitnessClass;
-import org.axsl.linebreak.LineBreakControl;
import java.util.ArrayList;
import java.util.Arrays;
@@ -59,12 +58,9 @@
/** The paragraph whose line-breaking is being computed. */
private ParaBranch paragraph;
- /** The paragraph lbControl object. */
- private ParaContext paraControl;
+ /** The context in which the paragraph should be laid out. */
+ private ParaContext paraContext;
- /** The line-break lbControl object. */
- private LineBreakControl lbControl;
-
/** The stack of branches. */
private Stack<ParaBranch> branchStack;
@@ -99,11 +95,9 @@
private int cumulativeShrink;
@Override
- public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext,
- final LineBreakControl lbControl) {
+ public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext) {
this.paragraph = paragraph;
- this.paraControl = paraContext;
- this.lbControl = lbControl;
+ this.paraContext = paraContext;
final IntArrayBuilder returnValue = new IntArrayBuilder();
if (paragraph == null) {
return new LineBreakResult4a(new int[0], new int[0]);
@@ -209,7 +203,7 @@
}
case PENALTY: {
final ParaPenalty penalty = leaf.asParaPenalty();
- if (penalty.getCost(this.paraControl) != ParaPenalty.INFINITE_PENALTY) {
+ if (penalty.getCost(this.paraContext) != ParaPenalty.INFINITE_PENALTY) {
mainLoop(leafWrapper);
}
break;
@@ -246,7 +240,7 @@
final int j = a.getLine() + 1;
final double r = computeAdjustmentRatio(a, b, j);
if (r < -1
- || (b.getPenaltyCost(this.paraControl) == ParaPenalty.FORCED_BREAK)) {
+ || (b.getPenaltyCost(this.paraContext) == ParaPenalty.FORCED_BREAK)) {
deactivateNode(a, preva, nexta);
} else {
preva = a;
@@ -253,7 +247,7 @@
}
int demerits = 0;
if (-1 <= r
- && r < this.lbControl.getAdjustmentRatioTolerance()) {
+ && r < this.paraContext.getAdjustmentRatioTolerance()) {
/* Compute demerits and fitness class. */
c = KpFitnessClass.fromAdjustmentRatio(r);
demerits = computeDemerits(r, a, b, c);
@@ -270,7 +264,7 @@
break innerLoop;
}
if (a.getLine() >= j
- && j < this.lbControl.getLastNonEquivalentLineNumber()) {
+ && j < this.paraContext.getLastNonEquivalentLineNumber()) {
break innerLoop;
}
}
@@ -298,7 +292,7 @@
}
case PENALTY: {
final ParaPenalty penalty = leaf.asParaPenalty();
- if (penalty.getCost(this.paraControl) <= ParaPenalty.FORCED_BREAK
+ if (penalty.getCost(this.paraContext) <= ParaPenalty.FORCED_BREAK
&& index > b.getIndex()) {
break computeTotalWidthAfterB;
}
@@ -309,7 +303,7 @@
for (int cIndex = 0; cIndex < KpFitnessClass.getQtyValues(); cIndex ++) {
if (this.capDarray[cIndex] <=
- (capD + this.lbControl.getIncompatibleFitnessClassDemerits())) {
+ (capD + this.paraContext.getIncompatibleFitnessClassDemerits())) {
final LbBreakpoint s = new LbBreakpoint(b);
s.setLine(this.bestBreakpointsByClass[cIndex].getLine() + 1);
@@ -348,18 +342,18 @@
final ParaPenalty penalty = b.getContent().asParaPenalty();
length += penalty.getWidth(b.getConfig());
}
- if (length < this.lbControl.getLineLength(j - 1)) {
+ if (length < this.paraContext.getLineLength(j - 1)) {
final int stretch = this.cumulativeStretch - a.getTotalStretch();
if (stretch > 0) {
- final int numerator = this.lbControl.getLineLength(j - 1) - length;
+ final int numerator = this.paraContext.getLineLength(j - 1) - length;
ratio = numerator / stretch;
} else {
ratio = Double.MAX_VALUE;
}
- } else if (length > this.lbControl.getLineLength(j - 1)) {
+ } else if (length > this.paraContext.getLineLength(j - 1)) {
final int shrink = this.cumulativeShrink - a.getTotalShrink();
if (shrink > 0) {
- final int numerator = this.lbControl.getLineLength(j - 1) - length;
+ final int numerator = this.paraContext.getLineLength(j - 1) - length;
ratio = numerator / shrink;
} else {
ratio = Double.MAX_VALUE;
@@ -383,7 +377,7 @@
int penaltyCost = 0;
if (b.getContent().getParaLeafType() == ParaLeaf.Type.PENALTY) {
final ParaPenalty paraPenalty = b.getContent().asParaPenalty();
- penaltyCost = paraPenalty.getCost(this.paraControl);
+ penaltyCost = paraPenalty.getCost(this.paraContext);
}
double d = 0;
@@ -399,12 +393,12 @@
}
int demerits = (int) Math.round(d);
- demerits += this.lbControl.getConsecutiveFlaggedLinesDemerits()
+ demerits += this.paraContext.getConsecutiveFlaggedLinesDemerits()
* BooleanUtils.asInteger(b.isFlaggedPenalty())
* BooleanUtils.asInteger(a.isFlaggedPenalty());
final int fitnessDifference = c.computeDifference(a.getFitnessClass());
if (fitnessDifference > 1) {
- demerits += this.lbControl.getIncompatibleFitnessClassDemerits();
+ demerits += this.paraContext.getIncompatibleFitnessClassDemerits();
}
demerits += a.getTotalDemerits();
return demerits;
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/text/TextServer4a.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/text/TextServer4a.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/text/TextServer4a.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -30,8 +30,8 @@
import org.foray.text.line.solitary.SolitaryLineBreaker;
+import org.axsl.common.para.ParaContext;
import org.axsl.font.FontConsumer;
-import org.axsl.linebreak.LineBreakControl;
import org.axsl.orthography.OrthographyServer;
import org.axsl.text.line.EagerLineBreaker;
import org.axsl.text.line.LineBreakHandler;
@@ -78,10 +78,9 @@
}
@Override
- public EagerLineBreaker provideEagerLineBreaker(
- final LineBreakControl control, final LineBreakHandler handler,
+ public EagerLineBreaker provideEagerLineBreaker(final ParaContext context, final LineBreakHandler handler,
final FontConsumer fontConsumer) {
- return new SolitaryLineBreaker(this, control, handler, fontConsumer);
+ return new SolitaryLineBreaker(this, context, handler, fontConsumer);
}
}
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/EagerLineBreaker.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/EagerLineBreaker.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/EagerLineBreaker.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -30,8 +30,8 @@
import org.foray.text.TextServer4a;
+import org.axsl.common.para.ParaContext;
import org.axsl.font.FontConsumer;
-import org.axsl.linebreak.LineBreakControl;
import org.axsl.linebreak.OutputLine;
import org.axsl.text.TextException;
import org.axsl.text.line.LineBreakHandler;
@@ -40,12 +40,11 @@
import org.axsl.text.line.LineText;
/**
- * Abstract superclass for LineBreakers that act in an "eager" manner. Much of
- * the usefulness of this class comes from its ability to adapt an eager
- * line-breaking system to be used by patient clients.
+ * Abstract superclass for LineBreakers that act in an "eager" manner.
+ * Much of the usefulness of this class comes from its ability to adapt an eager line-breaking system to be used by
+ * patient clients.
*/
-public abstract class EagerLineBreaker extends LineBreaker
- implements org.axsl.text.line.EagerLineBreaker {
+public abstract class EagerLineBreaker extends LineBreaker implements org.axsl.text.line.EagerLineBreaker {
/** The current handler for line output. */
private OutputLine currentOutput;
@@ -56,18 +55,16 @@
/**
* Constructor.
* @param server The "parent" TextServer.
- * @param control The client object that provides process-time information,
- * specifically by providing line length information.
- * @param handler The client object that is responsible for taking the
- * results of the line-breaking work and doing something with it.
- * @param fontConsumer Provides the line-breaking system with the
- * FontConsumer instance that should be used for interfacing with the Font
- * subsystem.
+ * @param context The client object that provides process-time information, specifically by providing line length
+ * information.
+ * @param handler The client object that is responsible for taking the results of the line-breaking work and doing
+ * something with it.
+ * @param fontConsumer Provides the line-breaking system with the FontConsumer instance that should be used for
+ * interfacing with the Font subsystem.
*/
- public EagerLineBreaker(final TextServer4a server,
- final LineBreakControl control,
- final LineBreakHandler handler, final FontConsumer fontConsumer) {
- super(server, control, handler, fontConsumer);
+ public EagerLineBreaker(final TextServer4a server, final ParaContext context, final LineBreakHandler handler,
+ final FontConsumer fontConsumer) {
+ super(server, context, handler, fontConsumer);
}
/**
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/LineBreaker.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/LineBreaker.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/LineBreaker.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -30,9 +30,9 @@
import org.foray.text.TextServer4a;
+import org.axsl.common.para.ParaContext;
import org.axsl.font.FontConsumer;
import org.axsl.font.FontUse;
-import org.axsl.linebreak.LineBreakControl;
import org.axsl.text.line.LineBreakHandler;
import org.axsl.text.line.LineText;
@@ -48,7 +48,7 @@
/** The client object that provides process-time information, specifically
* by providing line length information. */
- private LineBreakControl control;
+ private ParaContext context;
/** Provides the line-breaking system with the FontConsumer instance that
* should be used for interfacing with the Font subsystem. */
@@ -65,7 +65,7 @@
/**
* Constructor.
* @param server The "parent" TextServer.
- * @param control The client object that provides process-time information,
+ * @param context The client object that provides process-time information,
* specifically by providing line length information.
* @param handler The client object that is responsible for taking the
* results of the line-breaking work and doing something with it.
@@ -73,11 +73,10 @@
* FontConsumer instance that should be used for interfacing with the Font
* subsystem.
*/
- protected LineBreaker(final TextServer4a server,
- final LineBreakControl control,
- final LineBreakHandler handler, final FontConsumer fontConsumer) {
+ protected LineBreaker(final TextServer4a server, final ParaContext context, final LineBreakHandler handler,
+ final FontConsumer fontConsumer) {
this.server = server;
- this.control = control;
+ this.context = context;
this.handler = handler;
this.fontConsumer = fontConsumer;
}
@@ -365,8 +364,8 @@
* Return the LineBreakControl instance.
* @return The line-break control.
*/
- public LineBreakControl getLineBreakControl() {
- return this.control;
+ public ParaContext getLineBreakControl() {
+ return this.context;
}
}
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/solitary/SolitaryLineBreaker.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/solitary/SolitaryLineBreaker.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/text/line/solitary/SolitaryLineBreaker.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -31,8 +31,8 @@
import org.foray.text.TextServer4a;
import org.foray.text.line.EagerLineBreaker;
+import org.axsl.common.para.ParaContext;
import org.axsl.font.FontConsumer;
-import org.axsl.linebreak.LineBreakControl;
import org.axsl.orthography.Orthography;
import org.axsl.orthography.Word;
import org.axsl.text.TextException;
@@ -41,10 +41,10 @@
import org.axsl.unicode.block.General_Punctuation_Block;
/**
- * An "eager" line-breaking implementaton which considers only the current line
- * in the line-breaking computation (hence the name "solitary").
- * It look neither forward nor backward in its computation, but merely attempts
- * to find the best break that it can for the current line.
+ * An "eager" line-breaking implementaton which considers only the current line in the line-breaking computation (hence
+ * the name "solitary").
+ * It look neither forward nor backward in its computation, but merely attempts to find the best break that it can for
+ * the current line.
*/
public class SolitaryLineBreaker extends EagerLineBreaker {
@@ -93,18 +93,16 @@
/**
* Constructor.
* @param server The "parent" TextServer.
- * @param control The client object that provides process-time information,
- * specifically by providing line length information.
- * @param handler The client object that is responsible for taking the
- * results of the line-breaking work and doing something with it.
- * @param fontConsumer Provides the line-breaking system with the
- * FontConsumer instance that should be used for interfacing with the Font
- * subsystem.
+ * @param context The client object that provides process-time information, specifically by providing line length
+ * information.
+ * @param handler The client object that is responsible for taking the results of the line-breaking work and doing
+ * something with it.
+ * @param fontConsumer Provides the line-breaking system with the FontConsumer instance that should be used for
+ * interfacing with the Font subsystem.
*/
- public SolitaryLineBreaker(final TextServer4a server,
- final LineBreakControl control,
- final LineBreakHandler handler, final FontConsumer fontConsumer) {
- super(server, control, handler, fontConsumer);
+ public SolitaryLineBreaker(final TextServer4a server, final ParaContext context, final LineBreakHandler handler,
+ final FontConsumer fontConsumer) {
+ super(server, context, handler, fontConsumer);
}
@Override
Modified: trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/FirstFitLbTests.java
===================================================================
--- trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/FirstFitLbTests.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/FirstFitLbTests.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -31,7 +31,6 @@
import org.foray.common.para.ParaBranch4a;
import org.axsl.common.para.ParaContext;
-import org.axsl.linebreak.LineBreakControl;
import org.junit.Assert;
import org.junit.Test;
@@ -50,10 +49,9 @@
para.addWord("Hello World!");
para.addSpace();
para.setParaConfig(createGrimmParaConfig());
- final ParaContext paraContext = createParaContext();
- final LineBreakControl lbControl = createLineBreakControl(-1);
+ final ParaContext paraContext = createParaContext(-1);
final FirstFitLb out = new FirstFitLb();
- final LineBreakResult4a actual = out.breakIntoLines(para, paraContext, lbControl);
+ final LineBreakResult4a actual = out.breakIntoLines(para, paraContext);
Assert.assertEquals(1, actual.getQtyLines());
Assert.assertEquals(468000, actual.getLineLength(0));
Assert.assertEquals(1, actual.getBreakPosition(0));
@@ -66,13 +64,12 @@
public void firstFitTestGrimm() {
final ParaBranch4a para = this.createPara();
para.setParaConfig(createGrimmParaConfig());
- final ParaContext paraContext = createParaContext();
/* Line width obtained from "Digital Typography," p. 73. We leave it expressed here in Monotype "units". */
final int lineWidth = 390;
- final LineBreakControl lbControl = createLineBreakControl(lineWidth);
+ final ParaContext paraContext = createParaContext(lineWidth);
final FirstFitLb out = new FirstFitLb();
- final LineBreakResult4a actual = out.breakIntoLines(para, paraContext, lbControl);
+ final LineBreakResult4a actual = out.breakIntoLines(para, paraContext);
Assert.assertEquals(12, actual.getQtyLines());
Assert.assertEquals(390, actual.getLineLength(0));
Assert.assertEquals(390, actual.getLineLength(1));
Modified: trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/LineBreaker4aTests.java
===================================================================
--- trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/LineBreaker4aTests.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/LineBreaker4aTests.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -39,7 +39,6 @@
import org.axsl.common.para.DiscretionaryHyphen;
import org.axsl.common.para.ParaContext;
-import org.axsl.linebreak.LineBreakControl;
import org.junit.Assert;
import org.mockito.Mockito;
@@ -383,29 +382,20 @@
}
/**
- * Creates a standard line break control, used for testing.
+ * Creates a standard paragraph context, used for testing.
* @param lineWidth The line width that this control should use, in millipoints.
* If less than zero, a line width of 6.5 inches will be used.
- * @return A link break control for testing.
+ * @return A paragraph context for testing.
*/
- public LineBreakControl createLineBreakControl(final int lineWidth) {
- final LineBreakControl lbControl = Mockito.mock(LineBreakControl.class);
+ public ParaContext createParaContext(final int lineWidth) {
+ final ParaContext paraControl = Mockito.mock(ParaContext.class);
+ Mockito.when(paraControl.getCost(Mockito.any(DiscretionaryHyphen.Quality.class))).thenReturn(50);
if (lineWidth < 0) {
/* Page is 8.5 inches wide, 1 inch margin on both ends, leaving 6.5 inches, or 468,000 millipoints. */
- Mockito.when(lbControl.getLineLength(Mockito.anyInt())).thenReturn(468000);
+ Mockito.when(paraControl.getLineLength(Mockito.anyInt())).thenReturn(468000);
} else {
- Mockito.when(lbControl.getLineLength(Mockito.anyInt())).thenReturn(lineWidth);
+ Mockito.when(paraControl.getLineLength(Mockito.anyInt())).thenReturn(lineWidth);
}
- return lbControl;
- }
-
- /**
- * Creates a standard paragraph context, used for testing.
- * @return A paragraph context for testing.
- */
- public ParaContext createParaContext() {
- final ParaContext paraControl = Mockito.mock(ParaContext.class);
- Mockito.when(paraControl.getCost(Mockito.any(DiscretionaryHyphen.Quality.class))).thenReturn(50);
return paraControl;
}
Modified: trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/TotalFitLbTests.java
===================================================================
--- trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/TotalFitLbTests.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/TotalFitLbTests.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -31,7 +31,6 @@
import org.foray.common.para.ParaBranch4a;
import org.axsl.common.para.ParaContext;
-import org.axsl.linebreak.LineBreakControl;
import org.junit.Assert;
import org.junit.Ignore;
@@ -52,12 +51,11 @@
final ParaBranch4a para = this.createPara();
para.setParaConfig(createGrimmParaConfig());
- final ParaContext paraContext = createParaContext();
/* Line width obtained from "Digital Typography," p. 73.*/
- final LineBreakControl lbControl = createLineBreakControl(390_000);
+ final ParaContext paraContext = createParaContext(390_000);
final TotalFitLb out = new TotalFitLb();
- final LineBreakResult4a actual = out.breakIntoLines(para, paraContext, lbControl);
+ final LineBreakResult4a actual = out.breakIntoLines(para, paraContext);
final int[] expected = new int[0];
Assert.assertEquals(expected, actual);
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2021-12-20 16:37:30 UTC (rev 12251)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2021-12-20 17:18:39 UTC (rev 12252)
@@ -35,7 +35,6 @@
import org.axsl.common.para.ParaContext;
import org.axsl.fotree.fo.FoTextWords;
import org.axsl.fotree.fo.GraftingPoint;
-import org.axsl.linebreak.LineBreakControl;
import org.axsl.linebreak.LineBreakResult;
import org.axsl.linebreak.LineBreaker;
@@ -68,11 +67,6 @@
}
final ParaContext paraContext = (ParaContext) areaNode;
- if (! (areaNode instanceof LineBreakControl)) {
- throw new IllegalArgumentException("AreaNode must be an instance of LineBreakControl");
- }
- final LineBreakControl lbControl = (LineBreakControl) areaNode;
-
if (! (areaNode instanceof NormalBlockArea)) {
throw new IllegalArgumentException("AreaNode must be an instance of NormalBlockArea");
}
@@ -79,7 +73,7 @@
final NormalBlockArea normalBlockArea = (NormalBlockArea) areaNode;
final LineBreaker lb = areaNode.getAreaTree().getLineBreaker();
- final LineBreakResult result = lb.breakIntoLines(this.node, paraContext, lbControl);
+ final LineBreakResult result = lb.breakIntoLines(this.node, paraContext);
int lastLeafIndex = 0;
for (int index = 0; index < result.getQtyLines(); index ++) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-20 16:37:33
|
Revision: 12251
http://sourceforge.net/p/foray/code/12251
Author: victormote
Date: 2021-12-20 16:37:30 +0000 (Mon, 20 Dec 2021)
Log Message:
-----------
Conform to aXSL change: Rename ParaControl to ParaContext, in preparation for consolidation with other interfaces.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
trunk/foray/foray-common/src/main/java/org/foray/common/para/DiscretionaryHyphen4a.java
trunk/foray/foray-common/src/main/java/org/foray/common/para/DiscretionaryHyphenMutating4a.java
trunk/foray/foray-common/src/main/java/org/foray/common/para/ParaPenalty4a.java
trunk/foray/foray-common/src/main/java/org/foray/common/para/ParaPenaltyChars.java
trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/BestFitLb.java
trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/FirstFitLb.java
trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/LbBreakpoint.java
trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/LbNodeWrapper.java
trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/TotalFitLb.java
trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/FirstFitLbTests.java
trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/LineBreaker4aTests.java
trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/TotalFitLbTests.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -36,7 +36,7 @@
import org.axsl.area.BlockLevelAreaFactory;
import org.axsl.area.NormalBlockArea;
import org.axsl.common.para.DiscretionaryHyphen;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.common.value.BackgroundRepeat;
import org.axsl.common.value.BorderStyle;
import org.axsl.common.value.RelativeAxis;
@@ -61,7 +61,7 @@
* This class represents a Block Area.
* A block area is made up of a sequence of Line Areas.
*/
-public final class NormalBlockArea4a extends BlockArea implements NormalBlockArea, LineBreakControl, ParaControl {
+public final class NormalBlockArea4a extends BlockArea implements NormalBlockArea, LineBreakControl, ParaContext {
/** The "generated-by" trait, as defined in Section 6.1.1. */
private BlockLink generatedBy;
@@ -541,7 +541,7 @@
}
@Override
- public ParaControl getParaControl() {
+ public ParaContext getParaContext() {
return this;
}
Modified: trunk/foray/foray-common/src/main/java/org/foray/common/para/DiscretionaryHyphen4a.java
===================================================================
--- trunk/foray/foray-common/src/main/java/org/foray/common/para/DiscretionaryHyphen4a.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-common/src/main/java/org/foray/common/para/DiscretionaryHyphen4a.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -31,7 +31,7 @@
import org.axsl.common.para.DiscretionaryHyphen;
import org.axsl.common.para.ParaBox;
import org.axsl.common.para.ParaConfig;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.common.para.ParaGlue;
import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaPenalty;
@@ -104,8 +104,8 @@
}
@Override
- public int getCost(final ParaControl paraControl) {
- return paraControl.getCost(this.quality);
+ public int getCost(final ParaContext paraContext) {
+ return paraContext.getCost(this.quality);
}
@Override
Modified: trunk/foray/foray-common/src/main/java/org/foray/common/para/DiscretionaryHyphenMutating4a.java
===================================================================
--- trunk/foray/foray-common/src/main/java/org/foray/common/para/DiscretionaryHyphenMutating4a.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-common/src/main/java/org/foray/common/para/DiscretionaryHyphenMutating4a.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -41,7 +41,7 @@
import org.axsl.common.para.ParaBox;
import org.axsl.common.para.ParaBranch;
import org.axsl.common.para.ParaConfig;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.common.para.ParaGlue;
import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaNode;
@@ -157,8 +157,8 @@
}
@Override
- public int getCost(final ParaControl paraControl) {
- return paraControl.getCost(this.quality);
+ public int getCost(final ParaContext paraContext) {
+ return paraContext.getCost(this.quality);
}
@Override
Modified: trunk/foray/foray-common/src/main/java/org/foray/common/para/ParaPenalty4a.java
===================================================================
--- trunk/foray/foray-common/src/main/java/org/foray/common/para/ParaPenalty4a.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-common/src/main/java/org/foray/common/para/ParaPenalty4a.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -32,7 +32,7 @@
import org.axsl.common.para.ParaBox;
import org.axsl.common.para.ParaConfig;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.common.para.ParaGlue;
import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaPenalty;
@@ -99,7 +99,7 @@
}
@Override
- public int getCost(final ParaControl paraControl) {
+ public int getCost(final ParaContext paraContext) {
return this.cost;
}
Modified: trunk/foray/foray-common/src/main/java/org/foray/common/para/ParaPenaltyChars.java
===================================================================
--- trunk/foray/foray-common/src/main/java/org/foray/common/para/ParaPenaltyChars.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-common/src/main/java/org/foray/common/para/ParaPenaltyChars.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -30,7 +30,7 @@
import org.axsl.common.para.ParaBox;
import org.axsl.common.para.ParaConfig;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.common.para.ParaGlue;
import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaPenalty;
@@ -88,7 +88,7 @@
}
@Override
- public int getCost(final ParaControl paraControl) {
+ public int getCost(final ParaContext paraContext) {
return this.cost;
}
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/BestFitLb.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/BestFitLb.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/BestFitLb.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -29,7 +29,7 @@
package org.foray.linebreak;
import org.axsl.common.para.ParaBranch;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.linebreak.LineBreakControl;
/**
@@ -39,7 +39,7 @@
public class BestFitLb extends LineBreaker4a {
@Override
- public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaControl paraControl,
+ public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext,
final LineBreakControl lbControl) {
return new LineBreakResult4a(null, null);
}
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/FirstFitLb.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/FirstFitLb.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/FirstFitLb.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -32,7 +32,7 @@
import org.axsl.common.para.ParaBranch;
import org.axsl.common.para.ParaConfig;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.common.para.ParaGlue;
import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaPenalty;
@@ -120,19 +120,19 @@
/** The line-break control. */
private LineBreakControl lbControl;
- /** The paragraphy control. */
- private ParaControl paraControl;
+ /** The paragraph context. */
+ private ParaContext paraContext;
/**
* Constructor.
* @param paraConfig The configuration of the paragraph being processed.
* @param lbControl The linebreak control instance.
- * @param paraControl The paragraphy control instance.
+ * @param paraContext The paragraph context instance.
*/
- private State(final ParaConfig paraConfig, final LineBreakControl lbControl, final ParaControl paraControl) {
+ private State(final ParaConfig paraConfig, final LineBreakControl lbControl, final ParaContext paraContext) {
this.paraConfig = paraConfig;
this.lbControl = lbControl;
- this.paraControl = paraControl;
+ this.paraContext = paraContext;
this.currentLineNumber = 1;
this.lineLengths.append(lbControl.getLineLength(currentLineNumber));
}
@@ -275,7 +275,7 @@
}
@Override
- public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaControl paraControl,
+ public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext,
final LineBreakControl lbControl) {
/* For purposes of this algorithm, "word" means the content between glue items, or, really, if (a) is non-glue,
* (b) is glue, (c) is non-glue, and (d) is glue, then (a) is the end of the previous word, and (b) and (c)
@@ -282,7 +282,7 @@
* together are the current word, and (d) is the beginning of the next word. */
final ParaConfig paraConfig = paragraph.getParaConfig();
- final State state = new State(paraConfig, lbControl, paraControl);
+ final State state = new State(paraConfig, lbControl, paraContext);
final ListIterator<ParaLeaf> leafIterator = paragraph.leafIterator();
while (leafIterator.hasNext()) {
@@ -289,7 +289,7 @@
final ParaLeaf leaf = leafIterator.next();
final ParaPenalty penalty = leaf.asParaPenalty();
if (penalty != null
- && penalty.getCost(paraControl) <= ParaPenalty.FORCED_BREAK) {
+ && penalty.getCost(paraContext) <= ParaPenalty.FORCED_BREAK) {
/* This is a forced line break. */
state.addProvisionalNonGlue(leaf);
state.acceptProvisionalWord();
@@ -363,7 +363,7 @@
} else {
/* This is a penalty item. */
/* Are we allowed to break here. */
- if (penalty.getCost(state.paraControl) >= ParaPenalty.INFINITE_PENALTY) {
+ if (penalty.getCost(state.paraContext) >= ParaPenalty.INFINITE_PENALTY) {
}
if (state.minProvisionalLineWidth() - idealWidthToNextLine + penalty.getWidth(state.paraConfig)
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/LbBreakpoint.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/LbBreakpoint.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/LbBreakpoint.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -28,7 +28,7 @@
package org.foray.linebreak;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.linebreak.KpFitnessClass;
/**
@@ -211,11 +211,11 @@
/**
* Returns the cost of the penalty, if this is a penalty item.
- * @param paraControl The control object.
+ * @param paraContext The control object.
* @return The cost of the penalty, or zero if this is not a penalty item.
*/
- public int getPenaltyCost(final ParaControl paraControl) {
- return this.node.getPenaltyCost(paraControl);
+ public int getPenaltyCost(final ParaContext paraContext) {
+ return this.node.getPenaltyCost(paraContext);
}
/**
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/LbNodeWrapper.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/LbNodeWrapper.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/LbNodeWrapper.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -31,7 +31,7 @@
import org.foray.common.data.OrderedTreePath4a;
import org.axsl.common.para.ParaConfig;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaPenalty;
@@ -120,14 +120,14 @@
/**
* Returns the cost of the penalty, if this is a penalty item.
- * @param paraControl The control object.
+ * @param paraContext The control object.
* @return The cost of the penalty, or zero if this is not a penalty item.
*/
- public int getPenaltyCost(final ParaControl paraControl) {
+ public int getPenaltyCost(final ParaContext paraContext) {
int penaltyCost = 0;
if (getContent().getParaLeafType() == ParaLeaf.Type.PENALTY) {
final ParaPenalty paraPenalty = getContent().asParaPenalty();
- penaltyCost = paraPenalty.getCost(paraControl);
+ penaltyCost = paraPenalty.getCost(paraContext);
}
return penaltyCost;
}
Modified: trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/TotalFitLb.java
===================================================================
--- trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/TotalFitLb.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-linebreak/src/main/java/org/foray/linebreak/TotalFitLb.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -37,7 +37,7 @@
import org.axsl.common.para.ParaBox;
import org.axsl.common.para.ParaBranch;
import org.axsl.common.para.ParaConfig;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.common.para.ParaGlue;
import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaNode;
@@ -60,7 +60,7 @@
private ParaBranch paragraph;
/** The paragraph lbControl object. */
- private ParaControl paraControl;
+ private ParaContext paraControl;
/** The line-break lbControl object. */
private LineBreakControl lbControl;
@@ -99,10 +99,10 @@
private int cumulativeShrink;
@Override
- public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaControl paraControl,
+ public LineBreakResult4a breakIntoLines(final ParaBranch paragraph, final ParaContext paraContext,
final LineBreakControl lbControl) {
this.paragraph = paragraph;
- this.paraControl = paraControl;
+ this.paraControl = paraContext;
this.lbControl = lbControl;
final IntArrayBuilder returnValue = new IntArrayBuilder();
if (paragraph == null) {
Modified: trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/FirstFitLbTests.java
===================================================================
--- trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/FirstFitLbTests.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/FirstFitLbTests.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -30,7 +30,7 @@
import org.foray.common.para.ParaBranch4a;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.linebreak.LineBreakControl;
import org.junit.Assert;
@@ -50,10 +50,10 @@
para.addWord("Hello World!");
para.addSpace();
para.setParaConfig(createGrimmParaConfig());
- final ParaControl paraControl = createParaControl();
+ final ParaContext paraContext = createParaContext();
final LineBreakControl lbControl = createLineBreakControl(-1);
final FirstFitLb out = new FirstFitLb();
- final LineBreakResult4a actual = out.breakIntoLines(para, paraControl, lbControl);
+ final LineBreakResult4a actual = out.breakIntoLines(para, paraContext, lbControl);
Assert.assertEquals(1, actual.getQtyLines());
Assert.assertEquals(468000, actual.getLineLength(0));
Assert.assertEquals(1, actual.getBreakPosition(0));
@@ -66,13 +66,13 @@
public void firstFitTestGrimm() {
final ParaBranch4a para = this.createPara();
para.setParaConfig(createGrimmParaConfig());
- final ParaControl paraControl = createParaControl();
+ final ParaContext paraContext = createParaContext();
/* Line width obtained from "Digital Typography," p. 73. We leave it expressed here in Monotype "units". */
final int lineWidth = 390;
final LineBreakControl lbControl = createLineBreakControl(lineWidth);
final FirstFitLb out = new FirstFitLb();
- final LineBreakResult4a actual = out.breakIntoLines(para, paraControl, lbControl);
+ final LineBreakResult4a actual = out.breakIntoLines(para, paraContext, lbControl);
Assert.assertEquals(12, actual.getQtyLines());
Assert.assertEquals(390, actual.getLineLength(0));
Assert.assertEquals(390, actual.getLineLength(1));
Modified: trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/LineBreaker4aTests.java
===================================================================
--- trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/LineBreaker4aTests.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/LineBreaker4aTests.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -38,7 +38,7 @@
import org.foray.orthography.Punctuation4a;
import org.axsl.common.para.DiscretionaryHyphen;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.linebreak.LineBreakControl;
import org.junit.Assert;
@@ -400,11 +400,11 @@
}
/**
- * Creates a standard paragraph control, used for testing.
- * @return A paragraph control for testing.
+ * Creates a standard paragraph context, used for testing.
+ * @return A paragraph context for testing.
*/
- public ParaControl createParaControl() {
- final ParaControl paraControl = Mockito.mock(ParaControl.class);
+ public ParaContext createParaContext() {
+ final ParaContext paraControl = Mockito.mock(ParaContext.class);
Mockito.when(paraControl.getCost(Mockito.any(DiscretionaryHyphen.Quality.class))).thenReturn(50);
return paraControl;
}
Modified: trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/TotalFitLbTests.java
===================================================================
--- trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/TotalFitLbTests.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-linebreak/src/test/java/org/foray/linebreak/TotalFitLbTests.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -30,7 +30,7 @@
import org.foray.common.para.ParaBranch4a;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.linebreak.LineBreakControl;
import org.junit.Assert;
@@ -52,12 +52,12 @@
final ParaBranch4a para = this.createPara();
para.setParaConfig(createGrimmParaConfig());
- final ParaControl paraControl = createParaControl();
+ final ParaContext paraContext = createParaContext();
/* Line width obtained from "Digital Typography," p. 73.*/
final LineBreakControl lbControl = createLineBreakControl(390_000);
final TotalFitLb out = new TotalFitLb();
- final LineBreakResult4a actual = out.breakIntoLines(para, paraControl, lbControl);
+ final LineBreakResult4a actual = out.breakIntoLines(para, paraContext, lbControl);
final int[] expected = new int[0];
Assert.assertEquals(expected, actual);
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2021-12-20 15:37:30 UTC (rev 12250)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2021-12-20 16:37:30 UTC (rev 12251)
@@ -32,7 +32,7 @@
import org.axsl.area.AreaTreeException;
import org.axsl.area.LineArea;
import org.axsl.area.NormalBlockArea;
-import org.axsl.common.para.ParaControl;
+import org.axsl.common.para.ParaContext;
import org.axsl.fotree.fo.FoTextWords;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.linebreak.LineBreakControl;
@@ -63,10 +63,10 @@
setProgress(0);
}
- if (! (areaNode instanceof ParaControl)) {
+ if (! (areaNode instanceof ParaContext)) {
throw new IllegalArgumentException("AreaNode must be an instance of ParaControl");
}
- final ParaControl paraControl = (ParaControl) areaNode;
+ final ParaContext paraContext = (ParaContext) areaNode;
if (! (areaNode instanceof LineBreakControl)) {
throw new IllegalArgumentException("AreaNode must be an instance of LineBreakControl");
@@ -79,7 +79,7 @@
final NormalBlockArea normalBlockArea = (NormalBlockArea) areaNode;
final LineBreaker lb = areaNode.getAreaTree().getLineBreaker();
- final LineBreakResult result = lb.breakIntoLines(this.node, paraControl, lbControl);
+ final LineBreakResult result = lb.breakIntoLines(this.node, paraContext, lbControl);
int lastLeafIndex = 0;
for (int index = 0; index < result.getQtyLines(); index ++) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-20 15:37:32
|
Revision: 12250
http://sourceforge.net/p/foray/code/12250
Author: victormote
Date: 2021-12-20 15:37:30 +0000 (Mon, 20 Dec 2021)
Log Message:
-----------
1. Conform to aXSL change: Make BlockDiscrete implement ParaBranch. 2. Minor progress on layout of BlockDiscrete.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/BlockDiscretePnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoNodePnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java 2021-12-20 13:35:44 UTC (rev 12249)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java 2021-12-20 15:37:30 UTC (rev 12250)
@@ -28,6 +28,7 @@
package org.foray.fotree.fo.obj;
+import org.foray.common.para.ParaBranch4aIterator;
import org.foray.fotree.FoContainerComplex;
import org.foray.fotree.FoContainerInline;
import org.foray.fotree.FoObj;
@@ -34,6 +35,10 @@
import org.foray.fotree.Namespace;
import org.foray.fotree.PropertyList;
+import org.axsl.common.para.ParaBranch;
+import org.axsl.common.para.ParaConfig;
+import org.axsl.common.para.ParaLeaf;
+import org.axsl.common.para.ParaNode;
import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
@@ -42,11 +47,13 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.ListIterator;
/**
* A container for only text and inline items.
- * This is a pass-thru pseudo-element that is always a child of a {@link FoContainerComplex} and that has no
+ * This is a pass-thru pseudo-element that is always a child of a {@link FoContainerComplex} and that has no inline
* (%block;) descendants.
+ * (It can have out-of-line descendants, such as those that are children of fo:footnote or fo:float).
* In other words, it is content that can be laid out as a discrete paragraph, uninterrupted by other blocks.
*/
public class BlockDiscrete4a extends FoContainerInline implements BlockDiscrete {
@@ -184,4 +191,122 @@
return true;
}
+ @Override
+ public int paraNodeSize() {
+ int count = 0;
+ for (int index = 0; index < this.children.size(); index ++) {
+ final FoObj child = this.children.get(index);
+ if (child instanceof ParaNode) {
+ count ++;
+ }
+ }
+ return count;
+ }
+
+ @Override
+ public ParaNode paraNodeAt(final int nodeIndex) {
+ int count = 0;
+ for (int index = 0; index < this.children.size(); index ++) {
+ final FoObj child = this.children.get(index);
+ if (child instanceof ParaNode) {
+ if (nodeIndex == count) {
+ return (ParaNode) child;
+ }
+ count ++;
+ }
+ }
+ throw new IndexOutOfBoundsException();
+ }
+
+ @Override
+ public void addNode(final ParaNode node) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public int paraLeafSize() {
+ int count = 0;
+ for (int nodeIndex = 0; nodeIndex < paraNodeSize(); nodeIndex ++) {
+ final ParaNode node = paraNodeAt(nodeIndex);
+ final ParaBranch branch = node.asParaBranch();
+ if (branch == null) {
+ count ++;
+ } else {
+ count += branch.paraLeafSize();
+ }
+ }
+ return count;
+ }
+
+ @Override
+ public ParaLeaf paraLeafAt(final int leafIndex) {
+ if (leafIndex < 0) {
+ throw new IndexOutOfBoundsException();
+ }
+ int totalLength = 0;
+ for (int nodeIndex = 0; nodeIndex < paraNodeSize(); nodeIndex ++) {
+ final ParaNode node = paraNodeAt(nodeIndex);
+ final ParaBranch branch = node.asParaBranch();
+ if (branch == null) {
+ /* Node is a leaf. */
+ if (leafIndex == totalLength) {
+ return node.asParaLeaf();
+ } else {
+ totalLength ++;
+ }
+ } else {
+ /* Node is a branch. */
+ final int currentLength = branch.paraLeafSize();
+ totalLength += currentLength;
+ if (totalLength > leafIndex) {
+ final int currentIndex = leafIndex - (totalLength - currentLength);
+ return branch.paraLeafAt(currentIndex);
+ }
+ }
+ }
+ throw new IndexOutOfBoundsException();
+ }
+
+ @Override
+ public ListIterator<ParaLeaf> leafIterator() {
+ return new ParaBranch4aIterator(this);
+ }
+
+ @Override
+ public ParaConfig getParaConfig() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setParaConfig(final ParaConfig config) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Type getParaNodeType() {
+ return ParaNode.Type.BRANCH;
+ }
+
+ @Override
+ public ParaLeaf asParaLeaf() {
+ return null;
+ }
+
+ @Override
+ public ParaBranch asParaBranch() {
+ return this;
+ }
+
+ @Override
+ public int paraKpLeafSize() {
+ /* TODO: Support this. */
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public CharSequence getText() {
+ /* TODO: Support this. */
+ throw new UnsupportedOperationException();
+ }
+
}
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/BlockDiscretePnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/BlockDiscretePnr.java 2021-12-20 13:35:44 UTC (rev 12249)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/BlockDiscretePnr.java 2021-12-20 15:37:30 UTC (rev 12250)
@@ -28,14 +28,15 @@
package org.foray.pioneer;
+import org.foray.common.primitive.ObjectUtils;
+
import org.axsl.area.AreaNode;
import org.axsl.area.AreaTreeException;
import org.axsl.area.BlockLevelAreaFactory;
-import org.axsl.area.LineArea;
import org.axsl.area.NormalBlockArea;
-import org.axsl.fotree.Fo;
import org.axsl.fotree.fo.BlockDiscrete;
import org.axsl.fotree.fo.GraftingPoint;
+import org.axsl.linebreak.LineBreaker;
/**
* Pioneer Layout for {@link BlockDiscrete}.
@@ -42,31 +43,9 @@
*/
public class BlockDiscretePnr extends FoObjPnr {
- /** Constant for the number of loops without progress that are allowed
- * before the layout is considered stuck. */
- private static final int DEFAULT_LOOPS_ALLOWED = 50;
-
/** The real FONode which this proxy represents. */
private BlockDiscrete blockDiscrete;
- /** Indicates whether anything in this block has been laid out. */
- private boolean anythingLaidOut = false;
-
- /** The current count of the number of iterations in which no layout
- * progress had been made. */
- private int noLayoutCount = 0;
-
- /** The number of loops that will be allowed without layout progress
- * before aborting layout. */
- private int infLoopThreshhold = BlockDiscretePnr.DEFAULT_LOOPS_ALLOWED;
-
- /** Indicates whether we have already checked for a "break before"
- * condition. */
- private boolean breakStatusBeforeChecked = false;
-
- /** The current line area being processed. */
- private LineArea currentLineArea;
-
/**
* Constructor.
* @param realFObj The FO Tree object which is being laid out.
@@ -78,9 +57,8 @@
}
@Override
- public void resetProgress() {
- this.anythingLaidOut = false;
- super.resetProgress();
+ public BlockDiscrete getFONode() {
+ return this.blockDiscrete;
}
@Override
@@ -91,151 +69,13 @@
}
final BlockLevelAreaFactory bcArea = (BlockLevelAreaFactory) areaNode;
+ final NormalBlockArea blockArea = bcArea.makeNormalBlockArea(this.blockDiscrete, graftingPoint);
- if (! this.breakStatusBeforeChecked) {
- this.breakStatusBeforeChecked = true;
- // no break if first in area tree, or leading in context
- // area
- final Status breakBeforeStatus = getLayout().checkBreakBefore(
- this.blockDiscrete, areaNode.nearestArea());
- if (breakBeforeStatus != Status.OK) {
- return breakBeforeStatus;
- }
- }
+ final LineBreaker breaker = blockArea.getAreaTree().getLineBreaker();
+// final LineBreakResult result = breaker.breakIntoLines((ParaBranch) this.blockDiscrete, blockArea, blockArea);
+ ObjectUtils.noOperation(breaker);
- NormalBlockArea blockArea;
-
- if (! this.anythingLaidOut) {
- this.noLayoutCount++;
- }
- if (this.noLayoutCount > this.infLoopThreshhold) {
- throw new AreaTreeException(
- "No meaningful layout in block after many attempts.\n"
- + "Infinite loop is assumed. Processing halted. Context:\n"
- + this.blockDiscrete.getContextMessage());
- }
-
- if (getProgress() == FoNodePnr.BREAK_AFTER) {
- return Status.OK;
- }
-
- if (getProgress() == FoNodePnr.START) {
- // Reset the "loop counter".
- this.noLayoutCount = 0;
-
- if (areaNode instanceof NormalBlockArea) {
- getLayout().completeCurrentLineInBlock(
- (NormalBlockArea) areaNode);
- }
- setProgress(0);
- }
-
- blockArea = bcArea.makeNormalBlockArea(this.blockDiscrete, graftingPoint);
-
- for (int i = getProgress(); i < this.blockDiscrete.formattingObjectCount(); i++) {
- final Fo fo = this.blockDiscrete.formattingObjectAt(i);
- final FoNodePnr nodePL = this.getLayoutProxy(fo);
-
- Status status = null;
- boolean doneProcessingItem = false;
- while (! doneProcessingItem) {
- status = nodePL.layout(blockArea, graftingPoint);
- if (! status.isIncomplete()
- || status.isPageBreak()) {
- doneProcessingItem = true;
- break;
- }
- this.currentLineArea = blockArea.makeLineArea(false);
- if (this.currentLineArea == null) {
- doneProcessingItem = true;
- }
- }
-
- if (status.isIncomplete()) {
- setProgress(i);
- if (status == Status.AREA_FULL_NONE) {
- if (i == 0) {
- /* Nothing was laid out. A new page is needed. */
- this.anythingLaidOut = false;
- return status;
- }
- /* A previous child has already been laid out, but there is
- * no room to lay out more. A new page is needed. */
- this.anythingLaidOut = true;
- return Status.AREA_FULL_SOME;
- }
- this.anythingLaidOut = true;
- return status;
- }
- this.anythingLaidOut = true;
- if (status.isPageBreak()) {
- return status;
- }
- }
-
- getLayout().completeCurrentLineInBlock(blockArea);
- getLayout().setLineBreaker(null);
-
- // no break if last in area tree, or trailing in context
- // area
- final Status breakAfterStatus = Status.checkBreakAfter(
- this.blockDiscrete.traitBreakAfter(areaNode));
- if (breakAfterStatus != Status.OK) {
- setProgress(FoNodePnr.BREAK_AFTER);
- blockArea = null;
- return breakAfterStatus;
- }
- if (this.blockDiscrete.traitKeepWithNextWithinColumn(areaNode) > 0
- || this.blockDiscrete.traitKeepWithNextWithinPage(areaNode) > 0) {
- return Status.KEEP_WITH_NEXT;
- }
return Status.OK;
}
- /**
- * Get the current line area in this block area.
- * This is used to get the current line area for adding
- * inline objects.
- * This will return null if there is not enough room left
- * in the block area to accomodate the line area.
- * @param blockArea The block area (last one generated by this block??).
- * @return The line area to be used to add inline objects.
- * @throws AreaTreeException For errors creating the next line area.
- */
- public LineArea getCurrentLineArea(final NormalBlockArea blockArea)
- throws AreaTreeException {
- /* TODO: Shouldn't we already know which block area is active? Why is
- * this passed as a parameter.
- * TODO: Rename this method. */
- if (this.currentLineArea == null) {
- this.currentLineArea = blockArea.makeLineArea(false);
- }
- return this.currentLineArea;
- }
-
- /**
- * Notify this block that the area has completed layout.
- * Indicates the the block has been fully laid out, this will
- * add (if any) the current line area.
- */
- public void completeCurrentLine() {
- if (this.currentLineArea == null) {
- return;
- }
- this.currentLineArea = null;
- }
-
- /**
- * Set the current line area.
- * @param currentLineArea The currentLineArea to set.
- */
- public void setCurrentLineArea(final LineArea currentLineArea) {
- this.currentLineArea = currentLineArea;
- }
-
- @Override
- public BlockDiscrete getFONode() {
- return this.blockDiscrete;
- }
-
}
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoNodePnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoNodePnr.java 2021-12-20 13:35:44 UTC (rev 12249)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoNodePnr.java 2021-12-20 15:37:30 UTC (rev 12250)
@@ -317,8 +317,6 @@
final FoNodePnr blockPL = this.layout.getBlockPL(blockArea);
if (blockPL instanceof BlockPnr) {
((BlockPnr) blockPL).setCurrentLineArea(lineArea);
- } else if (blockPL instanceof BlockDiscretePnr) {
- ((BlockDiscretePnr) blockPL).setCurrentLineArea(lineArea);
}
if (lineArea == null) {
@@ -360,8 +358,6 @@
final FoNodePnr blockPL = this.layout.getBlockPL(blockArea);
if (blockPL instanceof BlockPnr) {
return ((BlockPnr) blockPL).getCurrentLineArea(blockArea);
- } else if (blockPL instanceof BlockDiscretePnr) {
- return ((BlockDiscretePnr) blockPL).getCurrentLineArea(blockArea);
}
throw new IllegalStateException("Unexpected layout object");
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java 2021-12-20 13:35:44 UTC (rev 12249)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java 2021-12-20 15:37:30 UTC (rev 12250)
@@ -173,9 +173,6 @@
if (blockPL instanceof BlockPnr) {
((BlockPnr) blockPL).completeCurrentLine();
return;
- } else if (blockPL instanceof BlockDiscretePnr) {
- ((BlockDiscretePnr) blockPL).completeCurrentLine();
- return;
}
throw new IllegalStateException("Unexpected layout object");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-20 13:35:47
|
Revision: 12249
http://sourceforge.net/p/foray/code/12249
Author: victormote
Date: 2021-12-20 13:35:44 +0000 (Mon, 20 Dec 2021)
Log Message:
-----------
Minor steps toward using BlockDiscrete in layout.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Block4a.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/package-info.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-19 20:11:42 UTC (rev 12248)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-20 13:35:44 UTC (rev 12249)
@@ -288,10 +288,8 @@
}
@Override
- public NormalBlockArea4a makeNormalBlockArea(final Block block,
- final GraftingPoint graftingPoint) {
- final NormalBlockArea4a nbArea = NormalBlockArea4a.makeNormalBlockArea(
- block, this, graftingPoint);
+ public NormalBlockArea4a makeNormalBlockArea(final Block block, final GraftingPoint graftingPoint) {
+ final NormalBlockArea4a nbArea = NormalBlockArea4a.makeNormalBlockArea(block, this, graftingPoint);
this.children.add(nbArea);
return nbArea;
}
@@ -298,9 +296,8 @@
@Override
public NormalBlockArea4a makeNormalBlockArea(final BlockDiscrete blockDiscrete, final GraftingPoint graftingPoint) {
- final NormalBlockArea4a nbArea = NormalBlockArea4a.makeNormalBlockArea(blockDiscrete, this, graftingPoint);
- this.children.add(nbArea);
- return nbArea;
+ final Block containingBlock = blockDiscrete.getParent();
+ return NormalBlockArea4a.makeNormalBlockArea(containingBlock, this, graftingPoint);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Block4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Block4a.java 2021-12-19 20:11:42 UTC (rev 12248)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Block4a.java 2021-12-20 13:35:44 UTC (rev 12249)
@@ -170,11 +170,11 @@
// @Override
// public void addChild(final FoObj fobj) throws FoTreeException {
-// if (fobj instanceof FoContentModelBlockOnly) {
+// if (fobj.isAlwaysBlockContent()) {
// getChildren().add(fobj);
// return;
// }
-// if (fobj instanceof AbstractCharacterSequence) {
+// if (fobj instanceof FoText4a) {
// /* If we are still in a place where an fo:marker can be added (i.e. at the beginning of the block), and
// * this text is all whitespace, it is not really part of the BlockDiscrete content.
// * Place it directly into the block content so that fo:marker objecs can be added if needed. */
@@ -186,19 +186,10 @@
// }
// return;
// }
-// if (fobj instanceof FoContentModelInlineOnly) {
+// if (fobj.isAlwaysInlineContent()) {
// addBlockDiscreteContent(fobj);
// return;
// }
-// if (fobj instanceof FoContentModelAny) {
-// /* If it is capable of containing block-level elements, but does not, it can be a child. */
-// if (! fobj.hasDescendantBlocks()) {
-// addBlockDiscreteContent(fobj);
-// } else {
-// getChildren().add(fobj);
-// }
-// return;
-// }
// if (fobj instanceof Marker4a) {
// getChildren().add(fobj);
// return;
@@ -207,8 +198,15 @@
// addBlockDiscreteContent(fobj);
// return;
// }
-// if (fobj instanceof Footnote4a) {
-// addBlockDiscreteContent(fobj);
+// if (fobj.isNeutralContainer()
+// || fobj.isOutOfLineAnyContent()
+// || fobj.isOutOfLineInlineContent()) {
+// /* If it is capable of containing block-level elements, but does not, it can be a child. */
+// if (! fobj.hasDescendantBlocks()) {
+// addBlockDiscreteContent(fobj);
+// } else {
+// getChildren().add(fobj);
+// }
// return;
// }
// throwException("Unable to handle this kind of mixed content.");
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/package-info.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/package-info.java 2021-12-19 20:11:42 UTC (rev 12248)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/package-info.java 2021-12-20 13:35:44 UTC (rev 12249)
@@ -30,6 +30,11 @@
* <p>Classes for the Pioneer layout strategy.
* Pioneer is an "eager" layout strategy, that is, it generally lays content out immediately and then presses
* forward.</p>
+ *
+ * <p>Abbreviations used in this project:</p>
+ * <ul>
+ * <li>Classes whose names end in "Pnr" are Pioneer layout classes.</li>
+ * </ul>
*/
package org.foray.pioneer;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 20:11:44
|
Revision: 12248
http://sourceforge.net/p/foray/code/12248
Author: victormote
Date: 2021-12-19 20:11:42 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
Add and use type-specific linkage for FoTextWords.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java
Added Paths:
-----------
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoTextWordsLink.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-19 19:46:01 UTC (rev 12247)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-19 20:11:42 UTC (rev 12248)
@@ -28,7 +28,6 @@
package org.foray.area;
-import org.foray.area.link.Linkage;
import org.foray.common.FontContext4a;
import org.foray.common.primitive.XmlCharacterUtils;
@@ -71,9 +70,6 @@
/** The parent of this node. The parent can be either a {@link LineArea4a} or another {@link AbstractInlineArea}. */
private Area4a parent;
- /** The "generated-by" trait, as defined in Section 6.1.1. */
- private Linkage generatedBy;
-
/**
* The amount, in millipoints, of letter-spacing to be used <em>between
* each letter</em> in this text.
@@ -91,21 +87,17 @@
/**
* Private Constructor.
* @param parentArea The parent area.
- * @param generatedBy The FO tree linkage.
*/
- public TextArea(final LineArea4a parentArea, final Linkage generatedBy) {
+ public TextArea(final LineArea4a parentArea) {
this.parent = parentArea;
- this.generatedBy = generatedBy;
}
/**
* Private Constructor.
* @param parentArea The parent area.
- * @param generatedBy The FO tree linkage.
*/
- public TextArea(final AbstractInlineArea parentArea, final Linkage generatedBy) {
+ public TextArea(final AbstractInlineArea parentArea) {
this.parent = parentArea;
- this.generatedBy = generatedBy;
}
/**
@@ -490,11 +482,6 @@
}
@Override
- public Linkage getLinkage() {
- return this.generatedBy;
- }
-
- @Override
public FontContext fontContext() {
/* TODO: Get this from the FOTree. */
return FontContext4a.DEFAULT;
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java 2021-12-19 19:46:01 UTC (rev 12247)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java 2021-12-19 20:11:42 UTC (rev 12248)
@@ -39,6 +39,9 @@
public final class TextAreaCharacters extends TextArea {
+ /** The "generated-by" trait, as defined in Section 6.1.1. */
+ private Linkage generatedBy;
+
/** The resolved textual content of this text area. */
private TextAreaCharSequence charSequence;
@@ -48,7 +51,8 @@
* @param generatedBy The FO tree linkage.
*/
private TextAreaCharacters(final LineArea4a parentArea, final Linkage generatedBy) {
- super(parentArea, generatedBy);
+ super(parentArea);
+ this.generatedBy = generatedBy;
}
/**
@@ -57,7 +61,8 @@
* @param generatedBy The FO tree linkage.
*/
private TextAreaCharacters(final AbstractInlineArea parentArea, final Linkage generatedBy) {
- super(parentArea, generatedBy);
+ super(parentArea);
+ this.generatedBy = generatedBy;
}
/**
@@ -172,6 +177,11 @@
}
@Override
+ public Linkage getLinkage() {
+ return this.generatedBy;
+ }
+
+ @Override
boolean hasFauxSmallCaps() {
return this.charSequence.hasFauxSmallCaps();
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java 2021-12-19 19:46:01 UTC (rev 12247)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java 2021-12-19 20:11:42 UTC (rev 12248)
@@ -28,17 +28,21 @@
package org.foray.area;
-import org.foray.area.link.Linkage;
+import org.foray.area.link.FoTextWordsLink;
public class TextAreaWords extends TextArea {
+ /** The "generated-by" trait, as defined in Section 6.1.1. */
+ private FoTextWordsLink generatedBy;
+
/**
* Constructor.
* @param parentArea The parent area.
* @param generatedBy The FO tree linkage.
*/
- public TextAreaWords(final LineArea4a parentArea, final Linkage generatedBy) {
- super(parentArea, generatedBy);
+ public TextAreaWords(final LineArea4a parentArea, final FoTextWordsLink generatedBy) {
+ super(parentArea);
+ this.generatedBy = generatedBy;
}
/**
@@ -46,11 +50,17 @@
* @param parentArea The parent area.
* @param generatedBy The FO tree linkage.
*/
- private TextAreaWords(final AbstractInlineArea parentArea, final Linkage generatedBy) {
- super(parentArea, generatedBy);
+ private TextAreaWords(final AbstractInlineArea parentArea, final FoTextWordsLink generatedBy) {
+ super(parentArea);
+ this.generatedBy = generatedBy;
}
@Override
+ public FoTextWordsLink getLinkage() {
+ return this.generatedBy;
+ }
+
+ @Override
public CharSequence getText() {
// TODO Auto-generated method stub
return null;
Added: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoTextWordsLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoTextWordsLink.java (rev 0)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoTextWordsLink.java 2021-12-19 20:11:42 UTC (rev 12248)
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2021 The FOray Project.
+ * http://www.foray.org
+ *
+ * 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.
+ *
+ * This work is in part derived from the following work(s), used with the
+ * permission of the licensor:
+ * Apache FOP, licensed by the Apache Software Foundation
+ *
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.foray.area.link;
+
+import org.axsl.fotree.fo.FoTextWords;
+
+/**
+ * Linkage for {@link FoTextWords} formatting objects.
+ */
+public class FoTextWordsLink extends FoLink {
+
+ /** The FONode for which this linkage tracks Area generation. */
+ private FoTextWords generatedBy;
+
+ /**
+ * Constructor.
+ * @param foGenerator The Formatting object that generates the areas in this linkage.
+ */
+ FoTextWordsLink(final FoTextWords foGenerator) {
+ this.generatedBy = foGenerator;
+ }
+
+ @Override
+ public FoTextWords getGeneratedBy() {
+ return this.generatedBy;
+ }
+
+}
Property changes on: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoTextWordsLink.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java 2021-12-19 19:46:01 UTC (rev 12247)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java 2021-12-19 20:11:42 UTC (rev 12248)
@@ -174,8 +174,8 @@
}
@Override
- public GenericLink visit(final FoTextWords host) {
- return new GenericLink(host);
+ public FoTextWordsLink visit(final FoTextWords host) {
+ return new FoTextWordsLink(host);
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 19:46:03
|
Revision: 12247
http://sourceforge.net/p/foray/code/12247
Author: victormote
Date: 2021-12-19 19:46:01 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
Conform to aXSL changes: 1. Remove Fo extension of FoAllProperties, as this should be an implementation issue. 2. Add method getOrthography() to Fo. 3. Rename similar AreaNode method to getOrthography().
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
trunk/foray/foray-render/src/main/java/org/foray/render/pdf/PdfRenderer.java
trunk/foray/foray-render/src/main/java/org/foray/render/ps/PsRenderer.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java 2021-12-19 19:09:01 UTC (rev 12246)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java 2021-12-19 19:46:01 UTC (rev 12247)
@@ -784,7 +784,7 @@
}
@Override
- public Orthography orthography() {
+ public Orthography getOrthography() {
final Fo generatedBy = this.traitGeneratedBy();
if (generatedBy != null) {
return generatedBy.getOrthography();
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java 2021-12-19 19:09:01 UTC (rev 12246)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java 2021-12-19 19:46:01 UTC (rev 12247)
@@ -241,7 +241,7 @@
final FontUse fontUse = getPrimaryFont();
fontUse.registerCharsUsed(word);
return fontUse.width(word, 0, word.length(), traitFontSize(), traitGeneratedBy().traitLetterSpacingOpt(this),
- traitGeneratedBy().traitWordSpacingOpt(this), fontContext(), orthography());
+ traitGeneratedBy().traitWordSpacingOpt(this), fontContext(), getOrthography());
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java 2021-12-19 19:09:01 UTC (rev 12246)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java 2021-12-19 19:46:01 UTC (rev 12247)
@@ -268,7 +268,7 @@
final FontUse fontUse = getPrimaryFont();
fontUse.registerCharsUsed(word);
return fontUse.width(word, 0, word.length(), traitFontSize(), traitGeneratedBy().traitLetterSpacingOpt(this),
- traitGeneratedBy().traitWordSpacingOpt(this), fontContext(), orthography());
+ traitGeneratedBy().traitWordSpacingOpt(this), fontContext(), getOrthography());
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java 2021-12-19 19:09:01 UTC (rev 12246)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java 2021-12-19 19:46:01 UTC (rev 12247)
@@ -269,7 +269,7 @@
final FontUse fontUse = getPrimaryFont();
fontUse.registerCharsUsed(word);
return fontUse.width(word, 0, word.length(), traitFontSize(), traitGeneratedBy().traitLetterSpacingOpt(this),
- traitGeneratedBy().traitWordSpacingOpt(this), fontContext(), orthography());
+ traitGeneratedBy().traitWordSpacingOpt(this), fontContext(), getOrthography());
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java 2021-12-19 19:09:01 UTC (rev 12246)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java 2021-12-19 19:46:01 UTC (rev 12247)
@@ -253,7 +253,7 @@
final FontUse fontUse = getPrimaryFont();
fontUse.registerCharsUsed(word);
return fontUse.width(word, 0, word.length(), traitFontSize(), traitGeneratedBy().traitLetterSpacingOpt(this),
- traitGeneratedBy().traitWordSpacingOpt(this), fontContext(), orthography());
+ traitGeneratedBy().traitWordSpacingOpt(this), fontContext(), getOrthography());
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-19 19:09:01 UTC (rev 12246)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-19 19:46:01 UTC (rev 12247)
@@ -431,7 +431,7 @@
int recomputeProgressionDimension() {
final CharSequence text = getText();
final int pd = getPrimaryFont().width(text, 0, text.length(), traitFontSize(), traitLetterSpacingOpt(),
- traitWordSpacingOpt(), fontContext(), orthography());
+ traitWordSpacingOpt(), fontContext(), getOrthography());
return pd;
}
Modified: trunk/foray/foray-render/src/main/java/org/foray/render/pdf/PdfRenderer.java
===================================================================
--- trunk/foray/foray-render/src/main/java/org/foray/render/pdf/PdfRenderer.java 2021-12-19 19:09:01 UTC (rev 12246)
+++ trunk/foray/foray-render/src/main/java/org/foray/render/pdf/PdfRenderer.java 2021-12-19 19:46:01 UTC (rev 12247)
@@ -304,7 +304,7 @@
final Rectangle2D.Float pdfClipRectangle = convertMillipointRectangle(
clipRectangle);
try {
- final PdfXobject xObject = this.pdfDoc.createXobject(image, area.orthography(), getFontConsumer());
+ final PdfXobject xObject = this.pdfDoc.createXobject(image, area.getOrthography(), getFontConsumer());
getContentStream().drawXobject(xObject, pdfContentRectangle, pdfClipRectangle);
} catch (final PdfException e) {
throw new GalleyVisitorException(e);
@@ -320,7 +320,7 @@
toPoints(foreign.referenceBpd()));
final SvgGraphic svgGraphic = area.getGraphic();
try {
- final PdfXobject xObject = this.pdfDoc.createXobject(svgGraphic, area.getParent().orthography(),
+ final PdfXobject xObject = this.pdfDoc.createXobject(svgGraphic, area.getParent().getOrthography(),
getFontConsumer());
getContentStream().drawXobject(xObject, contentRectangle, null);
} catch (final PdfException e) {
@@ -338,7 +338,7 @@
toPoints(foreign.referenceBpd()));
final MathGraphic mathGraphic = area.getGraphic();
try {
- final PdfXobject xObject = this.pdfDoc.createXobject(mathGraphic, area.getParent().orthography(),
+ final PdfXobject xObject = this.pdfDoc.createXobject(mathGraphic, area.getParent().getOrthography(),
getFontConsumer());
getContentStream().drawXobject(xObject, contentRectangle, null);
} catch (final PdfException e) {
@@ -401,7 +401,7 @@
if (newFont != currentFont) {
/* Font has changed. Write the text so far. */
final int size = i - startIndex;
- paintText(area, currentFont, text, startIndex, size, area.fontContext(), area.orthography());
+ paintText(area, currentFont, text, startIndex, size, area.fontContext(), area.getOrthography());
if (size > 0) {
startIndex = i;
}
@@ -410,7 +410,7 @@
}
if (startIndex < text.length()) {
paintText(area, currentFont, text, startIndex, text.length() - startIndex,
- area.fontContext(), area.orthography());
+ area.fontContext(), area.getOrthography());
}
} catch (final PdfException e) {
throw new GalleyVisitorException(e);
Modified: trunk/foray/foray-render/src/main/java/org/foray/render/ps/PsRenderer.java
===================================================================
--- trunk/foray/foray-render/src/main/java/org/foray/render/ps/PsRenderer.java 2021-12-19 19:09:01 UTC (rev 12246)
+++ trunk/foray/foray-render/src/main/java/org/foray/render/ps/PsRenderer.java 2021-12-19 19:46:01 UTC (rev 12247)
@@ -898,7 +898,7 @@
write(moveTo(area));
StringBuilder sb = new StringBuilder();
final IntSequence glyphIndexes =
- area.getPrimaryFont().encode(text, 0, text.length(), area.fontContext(), area.orthography());
+ area.getPrimaryFont().encode(text, 0, text.length(), area.fontContext(), area.getOrthography());
for (int i = 0; i < glyphIndexes.length(); i++) {
final int glyphIndex = glyphIndexes.intAt(i);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 19:09:04
|
Revision: 12246
http://sourceforge.net/p/foray/code/12246
Author: victormote
Date: 2021-12-19 19:09:01 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
Use type-specific linkages to clean up some casting and inheritance problems.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/Area4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/Area4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/Area4a.java 2021-12-19 18:59:00 UTC (rev 12245)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/Area4a.java 2021-12-19 19:09:01 UTC (rev 12246)
@@ -44,6 +44,7 @@
import org.axsl.font.Font;
import org.axsl.fotree.Fo;
import org.axsl.fotree.fo.BasicLink;
+import org.axsl.fotree.fo.Block;
import org.axsl.fotree.fo.prop.IdPa;
import org.axsl.fotree.fo.prop.WritingModePa;
import org.axsl.galley.BackgroundArea;
@@ -741,7 +742,7 @@
*/
public WhiteSpaceTreatment traitWhiteSpaceTreatment() {
final NormalBlockArea4a nearestBlockArea = this.nearestNormalBlockArea();
- final Fo block = nearestBlockArea.traitGeneratedBy();
+ final Block block = nearestBlockArea.traitGeneratedBy();
return block.traitWhiteSpaceTreatment(nearestBlockArea);
}
@@ -751,7 +752,7 @@
*/
public LinefeedTreatment traitLinefeedTreatment() {
final NormalBlockArea4a nearestBlockArea = this.nearestNormalBlockArea();
- final Fo block = nearestBlockArea.traitGeneratedBy();
+ final Block block = nearestBlockArea.traitGeneratedBy();
return block.traitLinefeedTreatment(nearestBlockArea);
}
@@ -761,7 +762,7 @@
*/
public boolean traitWhiteSpaceCollapse() {
final NormalBlockArea4a nearestBlockArea = this.nearestNormalBlockArea();
- final Fo block = nearestBlockArea.traitGeneratedBy();
+ final Block block = nearestBlockArea.traitGeneratedBy();
return block.traitWhiteSpaceCollapse(nearestBlockArea);
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockArea.java 2021-12-19 18:59:00 UTC (rev 12245)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockArea.java 2021-12-19 19:09:01 UTC (rev 12246)
@@ -28,8 +28,10 @@
package org.foray.area;
+import org.foray.area.link.BlockLink;
+
import org.axsl.common.value.LineStackingStrategy;
-import org.axsl.fotree.Fo;
+import org.axsl.fotree.fo.Block;
/**
* Superclass for {@link NormalBlockArea4a} and {@link LineArea4a}.
@@ -67,6 +69,13 @@
return false;
}
+ public abstract BlockLink getLinkage();
+
+ @Override
+ public Block traitGeneratedBy() {
+ return getLinkage().getGeneratedBy();
+ }
+
/**
* Returns the line-stacking-strategy trait for this Area.
* @return The line-stacking-strategy trait.
@@ -75,11 +84,6 @@
return this.traitGeneratedBy().traitLineStackingStrategy(this);
}
- @Override
- public Fo traitGeneratedBy() {
- return getLinkage().getGeneratedBy();
- }
-
/**
* Returns the half-leading minimum trait for this area.
* @return The half-leading minimum trait for this area.
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-19 18:59:00 UTC (rev 12245)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-19 19:09:01 UTC (rev 12246)
@@ -37,6 +37,7 @@
import org.axsl.font.FontContext;
import org.axsl.font.FontUse;
import org.axsl.fotree.Fo;
+import org.axsl.fotree.fo.Block;
import org.axsl.fotree.fo.FoTextCharacters;
import org.axsl.galley.GalleyVisitorException;
import org.axsl.galley.RenderVisitor;
@@ -531,7 +532,7 @@
return character.traitHyphenationCharacter(this);
} else {
final NormalBlockArea4a blockArea = this.ancestorNormalBlockArea();
- final Fo block = blockArea.traitGeneratedBy();
+ final Block block = blockArea.traitGeneratedBy();
return block.traitHyphenationCharacter(blockArea);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 18:59:03
|
Revision: 12245
http://sourceforge.net/p/foray/code/12245
Author: victormote
Date: 2021-12-19 18:59:00 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
Have LineArea get its linkage from its parent.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-19 18:37:38 UTC (rev 12244)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-19 18:59:00 UTC (rev 12245)
@@ -28,7 +28,7 @@
package org.foray.area;
-import org.foray.area.link.Linkage;
+import org.foray.area.link.BlockLink;
import org.foray.common.data.OrderedTreeNode;
import org.axsl.area.AreaTreeException;
@@ -43,10 +43,10 @@
import org.axsl.common.value.WhiteSpaceTreatment;
import org.axsl.font.Font;
import org.axsl.font.FontUse;
-import org.axsl.fotree.Fo;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.fo.BasicLink;
import org.axsl.fotree.fo.BidiOverride;
+import org.axsl.fotree.fo.Block;
import org.axsl.fotree.fo.ExternalGraphic;
import org.axsl.fotree.fo.FoTextCharacters;
import org.axsl.fotree.fo.FoTextWords;
@@ -72,15 +72,11 @@
*/
public final class LineArea4a extends BlockArea implements LineArea {
- /** The "generated-by" trait, as defined in Section 6.1.1. */
- private Linkage generatedBy;
-
/** The parent of this node. */
private NormalBlockArea4a parent;
/** The children of this node. */
- private List<AbstractInlineArea> children
- = new ArrayList<AbstractInlineArea>();
+ private List<AbstractInlineArea> children = new ArrayList<AbstractInlineArea>();
/** See {@link #getProgressionDimension()} for a description of
* "progression dimension". */
@@ -99,18 +95,13 @@
/**
* Package-visible Constructor.
- * @param generatedBy The FO node generating this area.
* @param parentArea The parent area.
* @param graftingPoint The ancestor grafting point, if any, for this
* area.
* @return The new instance.
*/
- static LineArea4a makeLineArea(final Fo generatedBy,
- final NormalBlockArea4a parentArea,
- final GraftingPoint graftingPoint) {
+ static LineArea4a makeLineArea(final NormalBlockArea4a parentArea, final GraftingPoint graftingPoint) {
final LineArea4a newLineArea = new LineArea4a(parentArea);
- newLineArea.generatedBy = newLineArea.linkage(generatedBy,
- graftingPoint);
newLineArea.registerWithLinkage(graftingPoint);
newLineArea.computeInitialPD();
final int initialPD = newLineArea.computeInitialPD();
@@ -856,7 +847,7 @@
* CENTER, JUSTIFY.
*/
public TextAlign traitTextAlign() {
- final Fo generatedBy = traitGeneratedBy();
+ final Block generatedBy = traitGeneratedBy();
TextAlign textAlign = generatedBy.traitTextAlign(this);
if (this.textAlignLastApplies()) {
final TextAlignLast textAlignLast = generatedBy.traitTextAlignLast(
@@ -1329,12 +1320,12 @@
}
@Override
- public Linkage getLinkage() {
- return this.generatedBy;
+ public BlockLink getLinkage() {
+ return this.parent.getLinkage();
}
@Override
- public Fo traitGeneratedBy() {
+ public Block traitGeneratedBy() {
return this.getLinkage().getGeneratedBy();
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-19 18:37:38 UTC (rev 12244)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-19 18:59:00 UTC (rev 12245)
@@ -135,8 +135,7 @@
return null;
}
}
- final LineArea4a newLineArea = LineArea4a.makeLineArea(traitGeneratedBy(),
- this, this.getGraftingPoint());
+ final LineArea4a newLineArea = LineArea4a.makeLineArea(this, this.getGraftingPoint());
this.children.add(newLineArea);
return newLineArea;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 18:37:42
|
Revision: 12244
http://sourceforge.net/p/foray/code/12244
Author: victormote
Date: 2021-12-19 18:37:38 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
Create and use LinkageFactory to create type-specific Linkage instances.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaTree4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java
Added Paths:
-----------
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java 2021-12-19 16:19:27 UTC (rev 12243)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java 2021-12-19 18:37:38 UTC (rev 12244)
@@ -29,7 +29,6 @@
package org.foray.area;
import org.foray.area.link.FoLink;
-import org.foray.area.link.GenericLink;
import org.foray.area.link.GraftingPointLink;
import org.foray.area.link.Linkage;
import org.foray.common.data.AbstractOrderedTreeNode;
@@ -142,8 +141,7 @@
* @param graftingPoint The ancestor RetrieveMarker, if any.
* @return The linkage item.
*/
- public Linkage linkage(final Fo foNode,
- final GraftingPoint graftingPoint) {
+ public Linkage linkage(final Fo foNode, final GraftingPoint graftingPoint) {
if (foNode == null) {
return null;
}
@@ -153,7 +151,9 @@
return linkage;
}
if (graftingPoint == null) {
- linkage = new GenericLink(foNode);
+ /* Use the visitor pattern a little upside-down here to make sure that foNode is cast as its {@link Fo}
+ * subtype instead of as {@link Fo}. */
+ linkage = foNode.acceptVisitor(this.getAreaTree().getLinkageFactory());
} else {
try {
final GraftingPointLink markerLinkage = new GraftingPointLink(
@@ -161,9 +161,9 @@
markerLinkage.getNormalLinkage(graftingPoint);
linkage = markerLinkage;
} catch (final AreaTreeException e) {
- /* Ignore this. It should never happen as we have already tested
- * for the condition that causes the exception, i.e. that foNode
- * has no ancestor marker. */
+ /* This should never happen as we have already tested for the condition that causes the exception, i.e.
+ * that foNode has no ancestor marker. */
+ throw new IllegalStateException(e);
}
}
areaTree.setFONodeLinkage(foNode, linkage);
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaTree4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaTree4a.java 2021-12-19 16:19:27 UTC (rev 12243)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaTree4a.java 2021-12-19 18:37:38 UTC (rev 12244)
@@ -30,6 +30,7 @@
import org.foray.area.link.FoLink;
import org.foray.area.link.Linkage;
+import org.foray.area.link.LinkageFactory;
import org.axsl.area.AreaTree;
import org.axsl.area.AreaTreeEvent;
@@ -64,7 +65,6 @@
private static final short INITIAL_LINKAGE_MAP_SIZE = 200;
/** The "generated-by" trait, as defined in Section 6.1.1. */
-// private FoLinkage generatedBy;
private FoTree foTree;
/** The children of this node. */
@@ -93,34 +93,30 @@
/** The list of FoLinkage items for the nodes in the FOTree.
* Each {@link Fo} in the {@link FoTree} has a unique index, which
* indexes into this linkage map. */
- private ArrayList<Linkage> linkageMap = new ArrayList<Linkage>(
- AreaTree4a.INITIAL_LINKAGE_MAP_SIZE);
+ private ArrayList<Linkage> linkageMap = new ArrayList<Linkage>(AreaTree4a.INITIAL_LINKAGE_MAP_SIZE);
/* Checkstyle-IllegalType-On. */
/**
- * An ordered list of all of the PageCollection objects that have been
- * processed.
- * Since there is a one-to-one relationship between PageCollection and
- * PageSequence, it can also be used to get an ordered list of PageSequence
- * objects.
+ * An ordered list of all of the PageCollection objects that have been processed.
+ * Since there is a one-to-one relationship between PageCollection and PageSequence, it can also be used to get an
+ * ordered list of PageSequence objects.
*/
- private List<PageCollection> pageCollectionsProcessed
- = new ArrayList<PageCollection>();
+ private List<PageCollection> pageCollectionsProcessed = new ArrayList<PageCollection>();
/**
- * Collection of objects that have registered to be notified about
- * {@link AreaTreeEvent} firings.
+ * Collection of objects that have registered to be notified about {@link AreaTreeEvent} firings.
*/
- private List<AreaTreeListener> areaTreeListeners
- = new ArrayList<AreaTreeListener>();
+ private List<AreaTreeListener> areaTreeListeners = new ArrayList<AreaTreeListener>();
/**
- * The list of pages waiting to be renderered. In general, pages waiting
- * to be rendered are doing so because they have unresolved "ref-id" items
- * on them.
+ * The list of pages waiting to be renderered.
+ * In general, pages waiting to be rendered are doing so because they have unresolved "ref-id" items on them.
*/
private List<PageRa> renderQueue = new ArrayList<PageRa>();
+ /** Factory that knows how to create new linkage instances. */
+ private LinkageFactory linkageFactory = new LinkageFactory();
+
/**
* Private Constructor.
* @param foTree The FO tree instance that generates this area tree.
@@ -482,4 +478,12 @@
return this.lineBreaker;
}
+ /**
+ * Returns the linkage factory.
+ * @return The linkage factory.
+ */
+ public LinkageFactory getLinkageFactory() {
+ return this.linkageFactory;
+ }
+
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-19 16:19:27 UTC (rev 12243)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-19 18:37:38 UTC (rev 12244)
@@ -28,6 +28,7 @@
package org.foray.area;
+import org.foray.area.link.BlockLink;
import org.foray.area.link.Linkage;
import org.foray.common.para.DiscretionaryHyphen4a;
@@ -63,7 +64,7 @@
public final class NormalBlockArea4a extends BlockArea implements NormalBlockArea, LineBreakControl, ParaControl {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private Linkage generatedBy;
+ private BlockLink generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -94,7 +95,8 @@
static NormalBlockArea4a makeNormalBlockArea(final Block generatedBy,
final AreaNode4a parentArea, final GraftingPoint graftingPoint) {
final NormalBlockArea4a newBlockArea = new NormalBlockArea4a(parentArea);
- newBlockArea.generatedBy = newBlockArea.linkage(generatedBy, graftingPoint);
+ final Linkage linkage = newBlockArea.linkage(generatedBy, graftingPoint);
+ newBlockArea.generatedBy = (BlockLink) linkage;
newBlockArea.registerWithLinkage(graftingPoint);
final int initialPD = newBlockArea.computeInitialPD();
newBlockArea.setProgressionDimension(initialPD);
@@ -105,8 +107,8 @@
static NormalBlockArea4a makeNormalBlockArea(final BlockDiscrete generatedBy,
final AreaNode4a parentArea, final GraftingPoint graftingPoint) {
final NormalBlockArea4a newBlockArea = new NormalBlockArea4a(parentArea);
- newBlockArea.generatedBy = newBlockArea.linkage(generatedBy,
- graftingPoint);
+ final Linkage linkage = newBlockArea.linkage(generatedBy, graftingPoint);
+ newBlockArea.generatedBy = (BlockLink) linkage;
newBlockArea.registerWithLinkage(graftingPoint);
final int initialPD = newBlockArea.computeInitialPD();
newBlockArea.setProgressionDimension(initialPD);
@@ -273,7 +275,7 @@
}
@Override
- public Linkage getLinkage() {
+ public BlockLink getLinkage() {
return this.generatedBy;
}
@@ -323,6 +325,11 @@
}
@Override
+ public Block traitGeneratedBy() {
+ return getLinkage().getGeneratedBy();
+ }
+
+ @Override
public Graphic traitBackgroundImage() {
return this.traitGeneratedBy().traitBackgroundImage(this);
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java 2021-12-19 16:19:27 UTC (rev 12243)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java 2021-12-19 18:37:38 UTC (rev 12244)
@@ -42,7 +42,7 @@
* Constructor.
* @param foGenerator The Formatting object that generates the areas in this linkage.
*/
- public BlockLink(final Block foGenerator) {
+ BlockLink(final Block foGenerator) {
this.generatedBy = foGenerator;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java 2021-12-19 16:19:27 UTC (rev 12243)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java 2021-12-19 18:37:38 UTC (rev 12244)
@@ -42,7 +42,7 @@
* Constructor.
* @param foGenerator The Formatting object that generates the areas in this linkage.
*/
- public GenericLink(final Fo foGenerator) {
+ GenericLink(final Fo foGenerator) {
this.generatedBy = foGenerator;
}
Added: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java (rev 0)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java 2021-12-19 18:37:38 UTC (rev 12244)
@@ -0,0 +1,376 @@
+/*
+ * Copyright 2021 The FOray Project.
+ * http://www.foray.org
+ *
+ * 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.
+ *
+ * This work is in part derived from the following work(s), used with the
+ * permission of the licensor:
+ * Apache FOP, licensed by the Apache Software Foundation
+ *
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+package org.foray.area.link;
+
+import org.axsl.fotree.Fo;
+import org.axsl.fotree.FoVisitor;
+import org.axsl.fotree.fo.BasicLink;
+import org.axsl.fotree.fo.BidiOverride;
+import org.axsl.fotree.fo.Block;
+import org.axsl.fotree.fo.BlockContainer;
+import org.axsl.fotree.fo.BlockDiscrete;
+import org.axsl.fotree.fo.Bookmark;
+import org.axsl.fotree.fo.BookmarkTitle;
+import org.axsl.fotree.fo.BookmarkTree;
+import org.axsl.fotree.fo.ColorProfile;
+import org.axsl.fotree.fo.Declarations;
+import org.axsl.fotree.fo.ExternalGraphic;
+import org.axsl.fotree.fo.Float;
+import org.axsl.fotree.fo.Flow;
+import org.axsl.fotree.fo.FoTextCharacters;
+import org.axsl.fotree.fo.FoTextWords;
+import org.axsl.fotree.fo.Footnote;
+import org.axsl.fotree.fo.FootnoteBody;
+import org.axsl.fotree.fo.InitialPropertySet;
+import org.axsl.fotree.fo.Inline;
+import org.axsl.fotree.fo.InlineContainer;
+import org.axsl.fotree.fo.InstreamForeignObject;
+import org.axsl.fotree.fo.Leader;
+import org.axsl.fotree.fo.ListBlock;
+import org.axsl.fotree.fo.ListItem;
+import org.axsl.fotree.fo.ListItemBody;
+import org.axsl.fotree.fo.ListItemLabel;
+import org.axsl.fotree.fo.Marker;
+import org.axsl.fotree.fo.MultiCase;
+import org.axsl.fotree.fo.MultiProperties;
+import org.axsl.fotree.fo.MultiPropertySet;
+import org.axsl.fotree.fo.MultiSwitch;
+import org.axsl.fotree.fo.MultiToggle;
+import org.axsl.fotree.fo.PageNumber;
+import org.axsl.fotree.fo.PageNumberCitation;
+import org.axsl.fotree.fo.PageSequence;
+import org.axsl.fotree.fo.RegionAfter;
+import org.axsl.fotree.fo.RegionBefore;
+import org.axsl.fotree.fo.RegionBody;
+import org.axsl.fotree.fo.RegionEnd;
+import org.axsl.fotree.fo.RegionStart;
+import org.axsl.fotree.fo.RetrieveMarker;
+import org.axsl.fotree.fo.Root;
+import org.axsl.fotree.fo.SimplePageMaster;
+import org.axsl.fotree.fo.StaticContent;
+import org.axsl.fotree.fo.Table;
+import org.axsl.fotree.fo.TableAndCaption;
+import org.axsl.fotree.fo.TableBody;
+import org.axsl.fotree.fo.TableCaption;
+import org.axsl.fotree.fo.TableCell;
+import org.axsl.fotree.fo.TableColumn;
+import org.axsl.fotree.fo.TableFooter;
+import org.axsl.fotree.fo.TableHeader;
+import org.axsl.fotree.fo.TableRow;
+import org.axsl.fotree.fo.Title;
+import org.axsl.fotree.fo.Wrapper;
+import org.axsl.fotree.foreign.SvgElement;
+
+public class LinkageFactory implements FoVisitor<Linkage> {
+
+ @Override
+ public GenericLink visit(final Fo host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final BasicLink host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final BidiOverride host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public BlockLink visit(final Block host) {
+ return new BlockLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final BlockContainer host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final BlockDiscrete host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Bookmark host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final BookmarkTitle host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final BookmarkTree host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final ColorProfile host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Declarations host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final ExternalGraphic host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Float host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Flow host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Footnote host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final FootnoteBody host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final FoTextCharacters host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final FoTextWords host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final InitialPropertySet host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Inline host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final InlineContainer host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final InstreamForeignObject host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Leader host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final ListBlock host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final ListItem host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final ListItemBody host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final ListItemLabel host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Marker host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final MultiCase host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final MultiProperties host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final MultiPropertySet host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final MultiSwitch host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final MultiToggle host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final PageNumber host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final PageNumberCitation host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final PageSequence host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final RegionAfter host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final RegionBefore host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final RegionBody host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final RegionEnd host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final RegionStart host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final RetrieveMarker host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Root host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final SimplePageMaster host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final StaticContent host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final SvgElement host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Table host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final TableAndCaption host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final TableBody host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final TableCaption host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final TableCell host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final TableColumn host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final TableFooter host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final TableHeader host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final TableRow host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Title host) {
+ return new GenericLink(host);
+ }
+
+ @Override
+ public GenericLink visit(final Wrapper host) {
+ return new GenericLink(host);
+ }
+
+}
Property changes on: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/LinkageFactory.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 16:19:29
|
Revision: 12243
http://sourceforge.net/p/foray/code/12243
Author: victormote
Date: 2021-12-19 16:19:27 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
Open door for type-specific Linkage subclasses.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java
Added Paths:
-----------
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java 2021-12-19 16:18:02 UTC (rev 12242)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java 2021-12-19 16:19:27 UTC (rev 12243)
@@ -29,6 +29,7 @@
package org.foray.area;
import org.foray.area.link.FoLink;
+import org.foray.area.link.GenericLink;
import org.foray.area.link.GraftingPointLink;
import org.foray.area.link.Linkage;
import org.foray.common.data.AbstractOrderedTreeNode;
@@ -152,7 +153,7 @@
return linkage;
}
if (graftingPoint == null) {
- linkage = new FoLink(foNode);
+ linkage = new GenericLink(foNode);
} else {
try {
final GraftingPointLink markerLinkage = new GraftingPointLink(
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-19 16:18:02 UTC (rev 12242)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-19 16:19:27 UTC (rev 12243)
@@ -94,8 +94,7 @@
static NormalBlockArea4a makeNormalBlockArea(final Block generatedBy,
final AreaNode4a parentArea, final GraftingPoint graftingPoint) {
final NormalBlockArea4a newBlockArea = new NormalBlockArea4a(parentArea);
- newBlockArea.generatedBy = newBlockArea.linkage(generatedBy,
- graftingPoint);
+ newBlockArea.generatedBy = newBlockArea.linkage(generatedBy, graftingPoint);
newBlockArea.registerWithLinkage(graftingPoint);
final int initialPD = newBlockArea.computeInitialPD();
newBlockArea.setProgressionDimension(initialPD);
Added: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java (rev 0)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java 2021-12-19 16:19:27 UTC (rev 12243)
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2021 The FOray Project.
+ * http://www.foray.org
+ *
+ * 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.
+ *
+ * This work is in part derived from the following work(s), used with the
+ * permission of the licensor:
+ * Apache FOP, licensed by the Apache Software Foundation
+ *
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.foray.area.link;
+
+import org.axsl.fotree.fo.Block;
+
+/**
+ * Linkage for {@link Block} formatting objects.
+ */
+public class BlockLink extends FoLink {
+
+ /** The FONode for which this linkage tracks Area generation. */
+ private Block generatedBy;
+
+ /**
+ * Constructor.
+ * @param foGenerator The Formatting object that generates the areas in this linkage.
+ */
+ public BlockLink(final Block foGenerator) {
+ this.generatedBy = foGenerator;
+ }
+
+ @Override
+ public Block getGeneratedBy() {
+ return this.generatedBy;
+ }
+
+}
Property changes on: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/BlockLink.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java 2021-12-19 16:18:02 UTC (rev 12242)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java 2021-12-19 16:19:27 UTC (rev 12243)
@@ -31,7 +31,6 @@
import org.foray.area.Area4a;
import org.foray.area.AreaNode4a;
-import org.axsl.fotree.Fo;
import org.axsl.fotree.fo.RetrieveMarker;
import java.util.ArrayList;
@@ -40,11 +39,8 @@
/**
* <p>A "normal" linkage manager, that is, one that simply matches an FONode to the Areas that it has created.</p>
*/
-public class FoLink extends Linkage {
+public abstract class FoLink extends Linkage {
- /** The FONode for which this linkage tracks Area generation. */
- private Fo generatedBy;
-
/**
* The ordered list of Area instances generated by {@link Linkage#getGeneratedBy()}.
* Index 0 "is-first" and Index size() - 1 "is-last".
@@ -54,22 +50,6 @@
private List<AreaNode4a> generatedAreas = new ArrayList<AreaNode4a>();
/**
- * Constructor.
- * @param foGenerator The FO node generating this linkage.
- */
- public FoLink(final Fo foGenerator) {
- this.generatedBy = foGenerator;
- }
-
- /**
- * Returns the FONode that generated this linkage.
- * @return The node that generated this linkage.
- */
- public Fo getGeneratedBy() {
- return this.generatedBy;
- }
-
- /**
* Register a given area node as being generated by this linkage.
* @param areaNode The area node to register.
*/
Added: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java (rev 0)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java 2021-12-19 16:19:27 UTC (rev 12243)
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2021 The FOray Project.
+ * http://www.foray.org
+ *
+ * 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.
+ *
+ * This work is in part derived from the following work(s), used with the
+ * permission of the licensor:
+ * Apache FOP, licensed by the Apache Software Foundation
+ *
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.foray.area.link;
+
+import org.axsl.fotree.Fo;
+
+/**
+ * Linkage for formatting objects that do not need special handling.
+ */
+public class GenericLink extends FoLink {
+
+ /** The FONode for which this linkage tracks Area generation. */
+ private Fo generatedBy;
+
+ /**
+ * Constructor.
+ * @param foGenerator The Formatting object that generates the areas in this linkage.
+ */
+ public GenericLink(final Fo foGenerator) {
+ this.generatedBy = foGenerator;
+ }
+
+ @Override
+ public Fo getGeneratedBy() {
+ return this.generatedBy;
+ }
+
+}
Property changes on: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GenericLink.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java 2021-12-19 16:18:02 UTC (rev 12242)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java 2021-12-19 16:19:27 UTC (rev 12243)
@@ -115,8 +115,7 @@
if (object != null) {
return (FoLink) object;
}
- final FoLink newLinkage = new FoLink(
- this.getGeneratedBy());
+ final FoLink newLinkage = new GenericLink(this.getGeneratedBy());
this.map.put(graftingPoint, newLinkage);
return newLinkage;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 16:18:04
|
Revision: 12242
http://sourceforge.net/p/foray/code/12242
Author: victormote
Date: 2021-12-19 16:18:02 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
Implement FoAllProperties, in preparation for removing that implementation from aXSL Fo interface.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java 2021-12-19 15:14:24 UTC (rev 12241)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java 2021-12-19 16:18:02 UTC (rev 12242)
@@ -125,6 +125,7 @@
import org.axsl.font.FontConsumer;
import org.axsl.font.FontUse;
import org.axsl.fotree.Fo;
+import org.axsl.fotree.FoAllProperties;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoInlineContext;
import org.axsl.fotree.FoTreeException;
@@ -154,7 +155,7 @@
* Base class for formatting objects.
*/
public abstract class FoObj extends AbstractOrderedTreeNode<FoObj>
- implements Fo, ParaConfig, AbstractOrderedTreeNode.Convertible<FoObj> {
+ implements Fo, FoAllProperties, ParaConfig, AbstractOrderedTreeNode.Convertible<FoObj> {
/** A static empty and immutable list of children, suitable for return by objects that have no children. */
protected static final List<FoObj> EMPTY_CHILD_LIST = Collections.emptyList();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 15:14:27
|
Revision: 12241
http://sourceforge.net/p/foray/code/12241
Author: victormote
Date: 2021-12-19 15:14:24 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
1. Move storage of parent to the subclasses. 2. Rename methods for clarity and conformity with XSL-FO terminology.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/BasicLinkArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BeforeFloatRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BidiOverrideArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockContainerRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ExternalGraphicArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/FootnoteRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ForeignObjectArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/IndexPageCitationListArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineContainerArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/LeaderArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ListBlockArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemBodyContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemLabelContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/MainRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalFlowRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRaBody.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/SpanRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableBodyContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableCellRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableFooterContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableHeaderContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRowContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/Linkage.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BasicLinkArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BasicLinkArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BasicLinkArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -136,7 +136,7 @@
@Override
public BasicLink traitGeneratedBy() {
- return (BasicLink) this.getLinkage().getFONode();
+ return (BasicLink) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BeforeFloatRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BeforeFloatRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BeforeFloatRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -169,7 +169,7 @@
@Override
public Fo traitGeneratedBy() {
- return this.getLinkage().getFONode();
+ return this.getLinkage().getGeneratedBy();
}
/**
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BidiOverrideArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BidiOverrideArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BidiOverrideArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -135,7 +135,7 @@
@Override
public BidiOverride traitGeneratedBy() {
- return (BidiOverride) this.getLinkage().getFONode();
+ return (BidiOverride) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -77,7 +77,7 @@
@Override
public Fo traitGeneratedBy() {
- return getLinkage().getFONode();
+ return getLinkage().getGeneratedBy();
}
/**
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockContainerRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockContainerRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockContainerRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -209,7 +209,7 @@
@Override
public BlockContainer traitGeneratedBy() {
- return (BlockContainer) this.getLinkage().getFONode();
+ return (BlockContainer) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ExternalGraphicArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ExternalGraphicArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ExternalGraphicArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -193,7 +193,7 @@
@Override
public ExternalGraphic traitGeneratedBy() {
- return (ExternalGraphic) this.getLinkage().getFONode();
+ return (ExternalGraphic) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/FootnoteRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/FootnoteRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/FootnoteRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -178,7 +178,7 @@
@Override
public Fo traitGeneratedBy() {
- return this.getLinkage().getFONode();
+ return this.getLinkage().getGeneratedBy();
}
/**
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ForeignObjectArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ForeignObjectArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ForeignObjectArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -207,7 +207,7 @@
@Override
public InstreamForeignObject traitGeneratedBy() {
- return (InstreamForeignObject) this.getLinkage().getFONode();
+ return (InstreamForeignObject) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/IndexPageCitationListArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/IndexPageCitationListArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/IndexPageCitationListArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -139,7 +139,7 @@
@Override
public IndexPageCitationList traitGeneratedBy() {
- return (IndexPageCitationList) this.getLinkage().getFONode();
+ return (IndexPageCitationList) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -143,7 +143,7 @@
@Override
public Inline traitGeneratedBy() {
- return (Inline) this.getLinkage().getFONode();
+ return (Inline) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineContainerArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineContainerArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineContainerArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -151,7 +151,7 @@
@Override
public Inline traitGeneratedBy() {
- return (Inline) this.getLinkage().getFONode();
+ return (Inline) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/LeaderArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/LeaderArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/LeaderArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -424,7 +424,7 @@
@Override
public Leader traitGeneratedBy() {
- return (Leader) this.getLinkage().getFONode();
+ return (Leader) this.getLinkage().getGeneratedBy();
}
// @Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -1335,7 +1335,7 @@
@Override
public Fo traitGeneratedBy() {
- return this.getLinkage().getFONode();
+ return this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ListBlockArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ListBlockArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ListBlockArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -174,7 +174,7 @@
@Override
public ListBlock traitGeneratedBy() {
- return (ListBlock) this.getLinkage().getFONode();
+ return (ListBlock) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -212,7 +212,7 @@
@Override
public ListItem traitGeneratedBy() {
- return (ListItem) this.getLinkage().getFONode();
+ return (ListItem) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemBodyContainer.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemBodyContainer.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemBodyContainer.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -73,7 +73,7 @@
@Override
public ListItemBody traitGeneratedBy() {
- return (ListItemBody) this.getLinkage().getFONode();
+ return (ListItemBody) this.getLinkage().getGeneratedBy();
}
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemLabelContainer.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemLabelContainer.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemLabelContainer.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -73,7 +73,7 @@
@Override
public ListItemLabel traitGeneratedBy() {
- return (ListItemLabel) this.getLinkage().getFONode();
+ return (ListItemLabel) this.getLinkage().getGeneratedBy();
}
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/MainRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/MainRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/MainRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -360,7 +360,7 @@
@Override
public RegionBody traitGeneratedBy() {
- return (RegionBody) this.getLinkage().getFONode();
+ return (RegionBody) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalFlowRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalFlowRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalFlowRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -267,7 +267,7 @@
@Override
public Fo traitGeneratedBy() {
- return this.getLinkage().getFONode();
+ return this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -428,7 +428,7 @@
@Override
public PageSequence traitGeneratedBy() {
- return (PageSequence) this.getLinkage().getFONode();
+ return (PageSequence) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -157,7 +157,7 @@
@Override
public PageNumber traitGeneratedBy() {
- return (PageNumber) this.getLinkage().getFONode();
+ return (PageNumber) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -176,7 +176,7 @@
@Override
public PageNumberCitation traitGeneratedBy() {
- return (PageNumberCitation) this.getLinkage().getFONode();
+ return (PageNumberCitation) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -177,7 +177,7 @@
@Override
public PageNumberCitationLast traitGeneratedBy() {
- return (PageNumberCitationLast) this.getLinkage().getFONode();
+ return (PageNumberCitationLast) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -679,7 +679,7 @@
@Override
public SimplePageMaster traitGeneratedBy() {
- return (SimplePageMaster) this.getLinkage().getFONode();
+ return (SimplePageMaster) this.getLinkage().getGeneratedBy();
}
/**
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -257,7 +257,7 @@
@Override
public Region traitGeneratedBy() {
- return (Region) this.getLinkage().getFONode();
+ return (Region) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRaBody.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRaBody.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRaBody.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -348,7 +348,7 @@
@Override
public RegionBody traitGeneratedBy() {
- return (RegionBody) this.getLinkage().getFONode();
+ return (RegionBody) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -169,7 +169,7 @@
@Override
public ScalingValueCitation traitGeneratedBy() {
- return (ScalingValueCitation) this.getLinkage().getFONode();
+ return (ScalingValueCitation) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/SpanRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/SpanRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/SpanRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -423,7 +423,7 @@
@Override
public RegionBody traitGeneratedBy() {
- return (RegionBody) this.getLinkage().getFONode();
+ return (RegionBody) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableBodyContainer.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableBodyContainer.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableBodyContainer.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -121,7 +121,7 @@
@Override
public TableBody traitGeneratedBy() {
- return (TableBody) this.getLinkage().getFONode();
+ return (TableBody) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableCellRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableCellRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableCellRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -492,7 +492,7 @@
@Override
public TableCell traitGeneratedBy() {
- return (TableCell) this.getLinkage().getFONode();
+ return (TableCell) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableFooterContainer.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableFooterContainer.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableFooterContainer.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -121,7 +121,7 @@
@Override
public TableFooter traitGeneratedBy() {
- return (TableFooter) this.getLinkage().getFONode();
+ return (TableFooter) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableHeaderContainer.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableHeaderContainer.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableHeaderContainer.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -121,7 +121,7 @@
@Override
public TableHeader traitGeneratedBy() {
- return (TableHeader) this.getLinkage().getFONode();
+ return (TableHeader) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRa.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRa.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -556,7 +556,7 @@
@Override
public Table traitGeneratedBy() {
- return (Table) this.getLinkage().getFONode();
+ return (Table) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRowContainer.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRowContainer.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRowContainer.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -222,7 +222,7 @@
@Override
public TableRow traitGeneratedBy() {
- return (TableRow) this.getLinkage().getFONode();
+ return (TableRow) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -469,7 +469,7 @@
@Override
public FoTextCharacters traitGeneratedBy() {
- return (FoTextCharacters) this.getLinkage().getFONode();
+ return (FoTextCharacters) this.getLinkage().getGeneratedBy();
}
@Override
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -38,17 +38,18 @@
import java.util.List;
/**
- * <p>A "normal" linkage manager, that is, one that simply matches an FONode
- * to the Areas that it has created.</p>
+ * <p>A "normal" linkage manager, that is, one that simply matches an FONode to the Areas that it has created.</p>
*/
public class FoLink extends Linkage {
+ /** The FONode for which this linkage tracks Area generation. */
+ private Fo generatedBy;
+
/**
- * The ordered list of Area instances generated by
- * {@link Linkage#getFONode()}.
+ * The ordered list of Area instances generated by {@link Linkage#getGeneratedBy()}.
* Index 0 "is-first" and Index size() - 1 "is-last".
- * This is currently set up to only store the root node of any subtree that
- * was generated by {@link Linkage#getFONode()}.
+ * This is currently set up to only store the root node of any subtree that was generated by
+ * {@link Linkage#getGeneratedBy()}.
*/
private List<AreaNode4a> generatedAreas = new ArrayList<AreaNode4a>();
@@ -57,10 +58,18 @@
* @param foGenerator The FO node generating this linkage.
*/
public FoLink(final Fo foGenerator) {
- super(foGenerator);
+ this.generatedBy = foGenerator;
}
/**
+ * Returns the FONode that generated this linkage.
+ * @return The node that generated this linkage.
+ */
+ public Fo getGeneratedBy() {
+ return this.generatedBy;
+ }
+
+ /**
* Register a given area node as being generated by this linkage.
* @param areaNode The area node to register.
*/
@@ -90,8 +99,7 @@
}
/**
- * Returns the first area generated by this linkage, that is, by the
- * FO node in this linkage.
+ * Returns the first area generated by this linkage, that is, by the FO node in this linkage.
* @return The first area generated.
*/
public AreaNode4a getFirstGeneratedBy() {
@@ -135,8 +143,7 @@
}
/**
- * Indicates whether a given area is the first one generated by this
- * linkage.
+ * Indicates whether a given area is the first one generated by this linkage.
* @param area An Area instance.
* @return True if and only if area is the first Area generated by this.
*/
@@ -148,14 +155,12 @@
}
/**
- * Indicates whether a given area is the last one generated by this
- * linkage.
+ * Indicates whether a given area is the last one generated by this linkage.
* @param area An Area instance.
* @return True if and only if area is the first Area generated by this.
*/
public boolean isLastGeneratedBy(final AreaNode4a area) {
- if (this.generatedAreas.indexOf(area)
- == (this.generatedAreas.size() - 1)) {
+ if (this.generatedAreas.indexOf(area) == (this.generatedAreas.size() - 1)) {
return true;
}
return false;
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -41,41 +41,37 @@
import java.util.Map;
/**
- * <p>Handles linkage to the FO Tree for the specialized case of fo:marker
- * descendants, which can be laid out multiple times in the AreaTree.</p>
+ * <p>Handles linkage to the FO Tree for the specialized case of fo:marker descendants, which can be laid out multiple
+ * times in the AreaTree.</p>
*/
public class GraftingPointLink extends Linkage {
+ /** The FONode for which this linkage tracks Area generation. */
+ private Fo generatedBy;
+
/**
- * <p>Map whose key is a {@link RetrieveMarker} instance, and whose value
- * is an {@link FoLink} instance.</p>
+ * <p>Map whose key is a {@link GraftingPoint} instance, and whose value is an {@link FoLink} instance.</p>
*
- * <p>An fo:marker can be grafted to multiple fo:retrieve-marker instances,
- * and can therefore be laid out in the Area Tree multiple times.
- * Similarly, an fo:retrieve-marker instance may be conceptually replaced
- * by multiple fo:marker instances.
- * So there is a many-to-many relationship between fo:marker and
- * fo:retrieve-marker.
- * We need the ability to track the Areas generated by each unique
- * combination of {@link Marker} and {@link RetrieveMarker}.
- * (Although the content resulting from the marker/retrieve-marker
- * combination may appear on multiple pages, it only gets laid out once
- * into the static-content flow, and therefore there is no need for the
- * {@link PageArea} to be part of the key).</p>
+ * <p>An fo:marker can be grafted to multiple fo:retrieve-marker instances, and can therefore be laid out in the
+ * Area Tree multiple times.
+ * Similarly, an fo:retrieve-marker instance may be conceptually replaced by multiple fo:marker instances.
+ * So there is a many-to-many relationship between fo:marker and fo:retrieve-marker.
+ * We need the ability to track the Areas generated by each unique combination of {@link Marker} and
+ * {@link RetrieveMarker}.
+ * (Although the content resulting from the marker/retrieve-marker combination may appear on multiple pages, it only
+ * gets laid out once into the static-content flow, and therefore there is no need for the {@link PageArea} to be
+ * part of the key).</p>
*
- * <p>Now, since the conceptual key is the combination of marker and
- * retrieve-marker, we must explain why only the {@link RetrieveMarker} is
- * used as the key to this Map.
- * Answer: it is unnecessary, because the {@link Marker} instance is implied
- * in this's {@link Linkage#getFONode()}.</p>
+ * <p>Since the conceptual key is the combination of marker and retrieve-marker, we must explain why only the
+ * {@link RetrieveMarker} is used as the key to this Map.
+ * Answer: it is unnecessary, because the {@link Marker} instance is implied in this's
+ * {@link Linkage#getGeneratedBy()}.</p>
*
- * <p>The value of the Map is an {@link FoLink} just as would be
- * used to store the linkage information for non-marker content.
- * So the net effect is that we have forced a {@link RetrieveMarker} into
- * the key that tracks this content.</p>
+ * <p>The value of the Map is an {@link FoLink} just as would be used to store the linkage information for
+ * non-marker content.
+ * So the net effect is that we have forced a {@link RetrieveMarker} into the key that tracks this content.</p>
*/
- private Map<GraftingPoint, FoLink> map
- = new HashMap<GraftingPoint, FoLink>();
+ private Map<GraftingPoint, FoLink> map = new HashMap<GraftingPoint, FoLink>();
/* TODO: Since the typical case presumably has the marker being used with
* only one retrieve-marker, a HashMap is probably overkill. We should
* probably use parallel arrays of size 1 for this information, and just
@@ -87,9 +83,8 @@
* @param foGenerator The FO node generating this linkage.
* @throws AreaTreeException If the {@code foGenerator} has no ancestor marker.
*/
- public GraftingPointLink(final Fo foGenerator)
- throws AreaTreeException {
- super(foGenerator);
+ public GraftingPointLink(final Fo foGenerator) throws AreaTreeException {
+ this.generatedBy = foGenerator;
final Marker marker = foGenerator.ancestorMarker();
if (marker == null) {
throw new AreaTreeException("(FOray) FoLinkageMarker "
@@ -100,12 +95,19 @@
}
/**
+ * Returns the FONode that generated this linkage.
+ * @return The node that generated this linkage.
+ */
+ public Fo getGeneratedBy() {
+ return this.generatedBy;
+ }
+
+ /**
* Returns the normal linkage for a given RetrieveMarker.
* @param graftingPoint The RetrieveMarker for which the linkage is needed.
* @return The normal linkage.
*/
- public FoLink getNormalLinkage(
- final GraftingPoint graftingPoint) {
+ public FoLink getNormalLinkage(final GraftingPoint graftingPoint) {
if (graftingPoint == null) {
return null;
}
@@ -114,7 +116,7 @@
return (FoLink) object;
}
final FoLink newLinkage = new FoLink(
- this.getFONode());
+ this.getGeneratedBy());
this.map.put(graftingPoint, newLinkage);
return newLinkage;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/link/Linkage.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/link/Linkage.java 2021-12-19 14:54:51 UTC (rev 12240)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/link/Linkage.java 2021-12-19 15:14:24 UTC (rev 12241)
@@ -32,32 +32,17 @@
import org.axsl.fotree.Fo;
import org.axsl.fotree.fo.GraftingPoint;
-import org.axsl.orthography.Orthography;
/**
- * Abstract superclass for classes that handle the linkage between the FO Tree
- * and the Area Tree.
+ * Abstract superclass for classes that handle the linkage between the FO Tree and the Area Tree.
*/
public abstract class Linkage {
- /** The FONode for which this linkage tracks Area generation. */
- private Fo foGenerator;
-
/**
- * Constructor.
- * @param foGenerator The FO node generating this linkage.
- */
- public Linkage(final Fo foGenerator) {
- this.foGenerator = foGenerator;
- }
-
- /**
* Returns the FONode that generated this linkage.
* @return The node that generated this linkage.
*/
- public Fo getFONode() {
- return this.foGenerator;
- }
+ public abstract Fo getGeneratedBy();
/**
* Retrieves the GraftingPoint, if any, for a given area node.
@@ -66,12 +51,4 @@
*/
public abstract GraftingPoint getRetrieveMarker(AreaNode4a areaNode);
- /**
- * Retrieves the writing system, if any, for the wrapped FO.
- * @return The writing system for the wrapped FO, of null if the FO does not have one.
- */
- public Orthography getOrthography() {
- return this.foGenerator.getOrthography();
- }
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-19 14:54:54
|
Revision: 12240
http://sourceforge.net/p/foray/code/12240
Author: victormote
Date: 2021-12-19 14:54:51 +0000 (Sun, 19 Dec 2021)
Log Message:
-----------
Move the linkage-related classes to a new package, renaming them for clarity.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractListItemContent.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaTree4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BasicLinkArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BeforeFloatRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BidiOverrideArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockContainerRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ExternalGraphicArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/FootnoteRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ForeignObjectArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/IndexPageCitationListArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineContainerArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/LeaderArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ListBlockArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/MainRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalFlowRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRaBody.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/SpanRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableBodyContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableCellRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableFooterContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableHeaderContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRa.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TableRowContainer.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/package-info.java
Added Paths:
-----------
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/FoLink.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/GraftingPointLink.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/Linkage.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/link/package-info.java
Removed Paths:
-------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkage.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkageMarker.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkageNormal.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractListItemContent.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractListItemContent.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractListItemContent.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.area.BlockLevelAreaFactory;
import org.axsl.fotree.fo.Block;
@@ -49,7 +51,7 @@
public abstract class AbstractListItemContent extends NonArea implements BlockLevelAreaFactory {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private ListItemArea parent;
@@ -143,7 +145,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
@@ -151,7 +153,7 @@
* Sets the "generated by" for this Area.
* @param generatedBy The new "generated by" value.
*/
- protected void setGeneratedBy(final FoLinkage generatedBy) {
+ protected void setGeneratedBy(final Linkage generatedBy) {
this.generatedBy = generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaNode4a.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,9 @@
package org.foray.area;
+import org.foray.area.link.FoLink;
+import org.foray.area.link.GraftingPointLink;
+import org.foray.area.link.Linkage;
import org.foray.common.data.AbstractOrderedTreeNode;
import org.axsl.area.AreaNode;
@@ -64,7 +67,7 @@
* @param graftingPoint The ancestor grafting point, if any.
*/
protected void registerWithLinkage(final GraftingPoint graftingPoint) {
- final FoLinkageNormal normalLinkage = this.getNormalLinkage(
+ final FoLink normalLinkage = this.getNormalLinkage(
graftingPoint);
normalLinkage.registerGeneratedArea(this);
}
@@ -138,21 +141,21 @@
* @param graftingPoint The ancestor RetrieveMarker, if any.
* @return The linkage item.
*/
- public FoLinkage linkage(final Fo foNode,
+ public Linkage linkage(final Fo foNode,
final GraftingPoint graftingPoint) {
if (foNode == null) {
return null;
}
final AreaTree4a areaTree = this.getAreaTree();
- FoLinkage linkage = areaTree.getFONodeLinkage(foNode);
+ Linkage linkage = areaTree.getFONodeLinkage(foNode);
if (linkage != null) {
return linkage;
}
if (graftingPoint == null) {
- linkage = new FoLinkageNormal(foNode);
+ linkage = new FoLink(foNode);
} else {
try {
- final FoLinkageMarker markerLinkage = new FoLinkageMarker(
+ final GraftingPointLink markerLinkage = new GraftingPointLink(
foNode);
markerLinkage.getNormalLinkage(graftingPoint);
linkage = markerLinkage;
@@ -170,12 +173,12 @@
* Returns the normal linkage associated with this Area.
* @return The normal linkage associated with this Area.
*/
- public FoLinkageNormal getNormalLinkage() {
- if (this.getLinkage() instanceof FoLinkageNormal) {
- return (FoLinkageNormal) this.getLinkage();
+ public FoLink getNormalLinkage() {
+ if (this.getLinkage() instanceof FoLink) {
+ return (FoLink) this.getLinkage();
}
- if (this.getLinkage() instanceof FoLinkageMarker) {
- final FoLinkageMarker linkageMarker = (FoLinkageMarker)
+ if (this.getLinkage() instanceof GraftingPointLink) {
+ final GraftingPointLink linkageMarker = (GraftingPointLink)
this.getLinkage();
final GraftingPoint graftingPoint = this.getGraftingPoint();
return linkageMarker.getNormalLinkage(graftingPoint);
@@ -191,14 +194,14 @@
* @param graftingPoint The retrieve-marker.
* @return The normal linkage associated with this Area.
*/
- public FoLinkageNormal getNormalLinkage(
+ public FoLink getNormalLinkage(
final GraftingPoint graftingPoint) {
- final FoLinkage linkage = this.getLinkage();
- if (linkage instanceof FoLinkageNormal) {
- return (FoLinkageNormal) linkage;
+ final Linkage linkage = this.getLinkage();
+ if (linkage instanceof FoLink) {
+ return (FoLink) linkage;
}
- if (linkage instanceof FoLinkageMarker) {
- final FoLinkageMarker linkageMarker = (FoLinkageMarker) linkage;
+ if (linkage instanceof GraftingPointLink) {
+ final GraftingPointLink linkageMarker = (GraftingPointLink) linkage;
return linkageMarker.getNormalLinkage(graftingPoint);
}
/* TODO: Consider throwing an Exception. This shouldn't happen. */
@@ -569,7 +572,7 @@
* Returns the raw "generated by" instance.
* @return The raw linkage item.
*/
- public abstract FoLinkage getLinkage();
+ public abstract Linkage getLinkage();
/**
* This method should be run after layout is complete, allowing cleanup and
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaTree4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaTree4a.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AreaTree4a.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,9 @@
package org.foray.area;
+import org.foray.area.link.FoLink;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTree;
import org.axsl.area.AreaTreeEvent;
import org.axsl.area.AreaTreeException;
@@ -90,7 +93,7 @@
/** The list of FoLinkage items for the nodes in the FOTree.
* Each {@link Fo} in the {@link FoTree} has a unique index, which
* indexes into this linkage map. */
- private ArrayList<FoLinkage> linkageMap = new ArrayList<FoLinkage>(
+ private ArrayList<Linkage> linkageMap = new ArrayList<Linkage>(
AreaTree4a.INITIAL_LINKAGE_MAP_SIZE);
/* Checkstyle-IllegalType-On. */
@@ -272,9 +275,9 @@
*/
public Area4a firstNormalAreaReturned(final String id) {
final Fo fobj = retrieveId(id);
- final FoLinkage linkage = linkage(fobj, null);
- if (linkage instanceof FoLinkageNormal) {
- final FoLinkageNormal normalLinkage = (FoLinkageNormal) linkage;
+ final Linkage linkage = linkage(fobj, null);
+ if (linkage instanceof FoLink) {
+ final FoLink normalLinkage = (FoLink) linkage;
return normalLinkage.firstNormalAreaReturned();
}
/* Hopefully we can't reference ids in static content, right? */
@@ -392,7 +395,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return null;
// return this.generatedBy;
}
@@ -408,7 +411,7 @@
* @param node The FONode whose linkage is needed.
* @return The FoLinkage for {@code node}, or null if there is none.
*/
- protected FoLinkage getFONodeLinkage(final Fo node) {
+ protected Linkage getFONodeLinkage(final Fo node) {
final int index = node.getSequentialIndex();
if (index < 0) {
throw new IndexOutOfBoundsException("FONode has a negative "
@@ -426,7 +429,7 @@
* @param linkage The linkage for {@code node}.
*/
protected void setFONodeLinkage(final Fo node,
- final FoLinkage linkage) {
+ final Linkage linkage) {
final int index = node.getSequentialIndex();
if (index < 0) {
throw new IndexOutOfBoundsException("FONode has a negative "
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BasicLinkArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BasicLinkArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BasicLinkArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.BorderStyle;
import org.axsl.fotree.fo.BasicLink;
@@ -49,7 +51,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor for a LineArea parent.
@@ -128,7 +130,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BeforeFloatRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BeforeFloatRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BeforeFloatRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.RelativeAxis;
import org.axsl.fotree.Fo;
@@ -46,7 +48,7 @@
org.axsl.area.BeforeFloatRefArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -161,7 +163,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BidiOverrideArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BidiOverrideArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BidiOverrideArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.fotree.fo.BidiOverride;
import org.axsl.fotree.fo.GraftingPoint;
@@ -48,7 +50,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor for a LineArea parent.
@@ -127,7 +129,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockContainerRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockContainerRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/BlockContainerRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.AbsolutePosition;
import org.axsl.common.value.BackgroundRepeat;
@@ -57,7 +59,7 @@
implements BlockContainerArea, org.axsl.area.BlockContainerRefArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -201,7 +203,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ExternalGraphicArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ExternalGraphicArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ExternalGraphicArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.fotree.fo.ExternalGraphic;
import org.axsl.fotree.fo.GraftingPoint;
@@ -51,7 +53,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor.
@@ -185,7 +187,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Deleted: trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkage.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkage.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkage.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -1,75 +0,0 @@
-/*
- * Copyright 2006 The FOray Project.
- * http://www.foray.org
- *
- * 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.
- *
- * This work is in part derived from the following work(s), used with the
- * permission of the licensor:
- * Apache FOP, licensed by the Apache Software Foundation
- *
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.foray.area;
-
-import org.axsl.fotree.Fo;
-import org.axsl.fotree.fo.GraftingPoint;
-import org.axsl.orthography.Orthography;
-
-/**
- * Abstract superclass for classes that handle the linkage between the FO Tree
- * and the Area Tree.
- */
-public abstract class FoLinkage {
-
- /** The FONode for which this linkage tracks Area generation. */
- private Fo foGenerator;
-
- /**
- * Constructor.
- * @param foGenerator The FO node generating this linkage.
- */
- public FoLinkage(final Fo foGenerator) {
- this.foGenerator = foGenerator;
- }
-
- /**
- * Returns the FONode that generated this linkage.
- * @return The node that generated this linkage.
- */
- public Fo getFONode() {
- return this.foGenerator;
- }
-
- /**
- * Retrieves the GraftingPoint, if any, for a given area node.
- * @param areaNode The area node for which the retrieve marker is needed.
- * @return The GraftingPoint generating the area, or null.
- */
- public abstract GraftingPoint getRetrieveMarker(AreaNode4a areaNode);
-
- /**
- * Retrieves the writing system, if any, for the wrapped FO.
- * @return The writing system for the wrapped FO, of null if the FO does not have one.
- */
- public Orthography getOrthography() {
- return this.foGenerator.getOrthography();
- }
-
-}
Deleted: trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkageMarker.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkageMarker.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkageMarker.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -1,132 +0,0 @@
-/*
- * Copyright 2006 The FOray Project.
- * http://www.foray.org
- *
- * 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.
- *
- * This work is in part derived from the following work(s), used with the
- * permission of the licensor:
- * Apache FOP, licensed by the Apache Software Foundation
- *
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.foray.area;
-
-import org.axsl.area.AreaTreeException;
-import org.axsl.area.PageArea;
-import org.axsl.fotree.Fo;
-import org.axsl.fotree.fo.GraftingPoint;
-import org.axsl.fotree.fo.Marker;
-import org.axsl.fotree.fo.RetrieveMarker;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * <p>Handles linkage to the FO Tree for the specialized case of fo:marker
- * descendants, which can be laid out multiple times in the AreaTree.</p>
- */
-public class FoLinkageMarker extends FoLinkage {
-
- /**
- * <p>Map whose key is a {@link RetrieveMarker} instance, and whose value
- * is an {@link FoLinkageNormal} instance.</p>
- *
- * <p>An fo:marker can be grafted to multiple fo:retrieve-marker instances,
- * and can therefore be laid out in the Area Tree multiple times.
- * Similarly, an fo:retrieve-marker instance may be conceptually replaced
- * by multiple fo:marker instances.
- * So there is a many-to-many relationship between fo:marker and
- * fo:retrieve-marker.
- * We need the ability to track the Areas generated by each unique
- * combination of {@link Marker} and {@link RetrieveMarker}.
- * (Although the content resulting from the marker/retrieve-marker
- * combination may appear on multiple pages, it only gets laid out once
- * into the static-content flow, and therefore there is no need for the
- * {@link PageArea} to be part of the key).</p>
- *
- * <p>Now, since the conceptual key is the combination of marker and
- * retrieve-marker, we must explain why only the {@link RetrieveMarker} is
- * used as the key to this Map.
- * Answer: it is unnecessary, because the {@link Marker} instance is implied
- * in this's {@link FoLinkage#getFONode()}.</p>
- *
- * <p>The value of the Map is an {@link FoLinkageNormal} just as would be
- * used to store the linkage information for non-marker content.
- * So the net effect is that we have forced a {@link RetrieveMarker} into
- * the key that tracks this content.</p>
- */
- private Map<GraftingPoint, FoLinkageNormal> map
- = new HashMap<GraftingPoint, FoLinkageNormal>();
- /* TODO: Since the typical case presumably has the marker being used with
- * only one retrieve-marker, a HashMap is probably overkill. We should
- * probably use parallel arrays of size 1 for this information, and just
- * do the array copy if it is needed. Alternatively, use parallel ArrayLists
- * with an initial value of 1. */
-
- /**
- * Constructor.
- * @param foGenerator The FO node generating this linkage.
- * @throws AreaTreeException If the {@code foGenerator} has no ancestor marker.
- */
- public FoLinkageMarker(final Fo foGenerator)
- throws AreaTreeException {
- super(foGenerator);
- final Marker marker = foGenerator.ancestorMarker();
- if (marker == null) {
- throw new AreaTreeException("(FOray) FoLinkageMarker "
- + "construction attempted for object\n"
- + " not descended from an fo:marker:\n"
- + foGenerator.getContextMessage());
- }
- }
-
- /**
- * Returns the normal linkage for a given RetrieveMarker.
- * @param graftingPoint The RetrieveMarker for which the linkage is needed.
- * @return The normal linkage.
- */
- public FoLinkageNormal getNormalLinkage(
- final GraftingPoint graftingPoint) {
- if (graftingPoint == null) {
- return null;
- }
- final FoLinkage object = this.map.get(graftingPoint);
- if (object != null) {
- return (FoLinkageNormal) object;
- }
- final FoLinkageNormal newLinkage = new FoLinkageNormal(
- this.getFONode());
- this.map.put(graftingPoint, newLinkage);
- return newLinkage;
- }
-
- @Override
- public GraftingPoint getRetrieveMarker(final AreaNode4a areaNode) {
- for (Map.Entry<GraftingPoint, FoLinkageNormal> entry
- : this.map.entrySet()) {
- final FoLinkageNormal normalLinkage = entry.getValue();
- if (normalLinkage.contains(areaNode)) {
- return entry.getKey();
- }
- }
- return null;
- }
-
-}
Deleted: trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkageNormal.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkageNormal.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/FoLinkageNormal.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -1,261 +0,0 @@
-/*
- * Copyright 2004 The FOray Project.
- * http://www.foray.org
- *
- * 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.
- *
- * This work is in part derived from the following work(s), used with the
- * permission of the licensor:
- * Apache FOP, licensed by the Apache Software Foundation
- *
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.foray.area;
-
-import org.axsl.fotree.Fo;
-import org.axsl.fotree.fo.RetrieveMarker;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * <p>A "normal" linkage manager, that is, one that simply matches an FONode
- * to the Areas that it has created.</p>
- */
-public class FoLinkageNormal extends FoLinkage {
-
- /**
- * The ordered list of Area instances generated by
- * {@link FoLinkage#getFONode()}.
- * Index 0 "is-first" and Index size() - 1 "is-last".
- * This is currently set up to only store the root node of any subtree that
- * was generated by {@link FoLinkage#getFONode()}.
- */
- private List<AreaNode4a> generatedAreas = new ArrayList<AreaNode4a>();
-
- /**
- * Constructor.
- * @param foGenerator The FO node generating this linkage.
- */
- public FoLinkageNormal(final Fo foGenerator) {
- super(foGenerator);
- }
-
- /**
- * Register a given area node as being generated by this linkage.
- * @param areaNode The area node to register.
- */
- public void registerGeneratedArea(final AreaNode4a areaNode) {
- final AreaNode4a parent = areaNode.getParent();
- if (parent != null) {
- /*
- * If the parent was generated by the same FObj, then we shouldn't
- * register this one also.
- */
- if (areaNode.traitGeneratedBy() == parent.traitGeneratedBy()) {
- return;
- }
- }
- if (this.generatedAreas == null) {
- this.generatedAreas = new ArrayList<AreaNode4a>();
- }
- this.generatedAreas.add(areaNode);
- }
-
- /**
- * Unregisters a given area node.
- * @param areaNode The area node to unregister.
- */
- public void unregisterGeneratedArea(final AreaNode4a areaNode) {
- this.generatedAreas.remove(areaNode);
- }
-
- /**
- * Returns the first area generated by this linkage, that is, by the
- * FO node in this linkage.
- * @return The first area generated.
- */
- public AreaNode4a getFirstGeneratedBy() {
- if (this.generatedAreas == null
- || this.generatedAreas.size() < 1) {
- return null;
- }
- return this.generatedAreas.get(0);
- }
-
- /**
- * For a given area, returns the previous area generated by this linkage.
- * @param area The area whose previous area is needed.
- * @return The previous area, or null, if {@code area} is the first area generated by this linkage.
- */
- public AreaNode4a getPreviousGeneratedBy(final AreaNode4a area) {
- if (this.generatedAreas == null) {
- return null;
- }
- final int index = this.generatedAreas.indexOf(area);
- if (index > 0) {
- return this.generatedAreas.get(index - 1);
- }
- return null;
- }
-
- /**
- * For a given area, returns the next area generated by this linkage.
- * @param area The area whose next area is needed.
- * @return The next area, or null, if {@code area} is the last area generated by this linkage.
- */
- public AreaNode4a getNextGeneratedBy(final AreaNode4a area) {
- if (this.generatedAreas == null) {
- return null;
- }
- final int index = this.generatedAreas.indexOf(area);
- if (index > 0 && index < this.generatedAreas.size() - 1) {
- return this.generatedAreas.get(index + 1);
- }
- return null;
- }
-
- /**
- * Indicates whether a given area is the first one generated by this
- * linkage.
- * @param area An Area instance.
- * @return True if and only if area is the first Area generated by this.
- */
- public boolean isFirstGeneratedBy(final AreaNode4a area) {
- if (this.generatedAreas.indexOf(area) == 0) {
- return true;
- }
- return false;
- }
-
- /**
- * Indicates whether a given area is the last one generated by this
- * linkage.
- * @param area An Area instance.
- * @return True if and only if area is the first Area generated by this.
- */
- public boolean isLastGeneratedBy(final AreaNode4a area) {
- if (this.generatedAreas.indexOf(area)
- == (this.generatedAreas.size() - 1)) {
- return true;
- }
- return false;
- }
-
- /**
- * Returns the number of areas generated by the FO.
- * @return The current count of areas that have been generated by the FObj.
- */
- public int qtyAreasGenerated() {
- return this.generatedAreas.size();
- }
-
- /**
- * Returns the last area node generated by the FO.
- * @return The last AreaNode generated by the parent FObj.
- */
- public AreaNode4a getLastGeneratedBy() {
- if (this.generatedAreas == null
- || this.generatedAreas.size() < 1) {
- return null;
- }
- return this.generatedAreas.get(this.generatedAreas.size() - 1);
- }
-
- /**
- * Returns the last Area generated by the FO.
- * @return The last Area generated by the parent FObj.
- */
- public Area4a getLastAreaGeneratedBy() {
- if (this.generatedAreas == null
- || this.generatedAreas.size() < 1) {
- return null;
- }
- for (int i = this.generatedAreas.size() - 1; i >= 0; i--) {
- final Object object = this.generatedAreas.get(i);
- if (object instanceof Area4a) {
- return (Area4a) object;
- }
- }
- return null;
- }
-
- /**
- * Returns the first normal area returned by this linkage.
- * @return The first normal area returned by this linkage.
- */
- public Area4a firstNormalAreaReturned() {
- /*
- * TODO: This is not right, but will do for now. It is not considering
- * areas that are returned by the FO but not generated by it.
- */
- if (this.generatedAreas == null) {
- return null;
- }
- for (int i = 0; i < this.generatedAreas.size(); i ++) {
- final Object object = this.generatedAreas.get(i);
- if (object instanceof Area4a) {
- return (Area4a) object;
- }
- }
- return null;
- }
-
- /**
- * Returns the last normal area returned by this linkage.
- * @return The last normal area returned by this linkage.
- */
- public Area4a lastNormalAreaReturned() {
- /*
- * TODO: This is not right, but will do for now. It is not considering
- * areas that are returned by the FO but not generated by it.
- */
- if (this.generatedAreas == null) {
- return null;
- }
- for (int i = this.generatedAreas.size() - 1; i >= 0; i --) {
- final Object object = this.generatedAreas.get(i);
- if (object instanceof Area4a) {
- return (Area4a) object;
- }
- }
- return null;
- }
-
- @Override
- public RetrieveMarker getRetrieveMarker(final AreaNode4a areaNode) {
- return null;
- }
-
- /**
- * Indicates whether a given area was generated by this linkage.
- * @param areaNode The node to be tested.
- * @return True if and only if this linkage generated {@code areaNode}.
- */
- public boolean contains(final AreaNode4a areaNode) {
- for (int i = 0; i < this.generatedAreas.size(); i++) {
- final Object object = this.generatedAreas.get(i);
- if (object == areaNode) {
- return true;
- }
- }
- return false;
- }
-
-}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/FootnoteRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/FootnoteRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/FootnoteRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.RelativeAxis;
import org.axsl.fotree.Fo;
@@ -44,7 +46,7 @@
implements org.axsl.galley.FootnoteArea, org.axsl.area.FootnoteRefArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -170,7 +172,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ForeignObjectArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ForeignObjectArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ForeignObjectArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.fotree.FoForeignXml;
import org.axsl.fotree.fo.GraftingPoint;
@@ -54,7 +56,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The foreign content encapsulated inside this area. */
private ForeignContent foreignContent;
@@ -199,7 +201,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/IndexPageCitationListArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/IndexPageCitationListArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/IndexPageCitationListArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.fotree.fo.IndexPageCitationList;
@@ -48,7 +50,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor for a LineArea parent.
@@ -131,7 +133,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.BackgroundRepeat;
import org.axsl.common.value.BorderStyle;
@@ -51,7 +53,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor for a LineArea parent.
@@ -135,7 +137,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineContainerArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineContainerArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/InlineContainerArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.fotree.fo.Block;
import org.axsl.fotree.fo.BlockContainer;
@@ -55,7 +57,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The children of this node. */
private List<Area4a> children = new ArrayList<Area4a>();
@@ -143,7 +145,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/LeaderArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/LeaderArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/LeaderArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.LeaderAlignment;
import org.axsl.common.value.LeaderPattern;
@@ -75,7 +77,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor.
@@ -416,7 +418,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,7 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
import org.foray.common.data.OrderedTreeNode;
import org.axsl.area.AreaTreeException;
@@ -72,7 +73,7 @@
public final class LineArea4a extends BlockArea implements LineArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private NormalBlockArea4a parent;
@@ -1328,7 +1329,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ListBlockArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ListBlockArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ListBlockArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.RelativeAxis;
import org.axsl.fotree.fo.GraftingPoint;
@@ -46,7 +48,7 @@
implements org.axsl.galley.ListBlockArea, org.axsl.area.ListBlockArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -166,7 +168,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ListItemArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.RelativeAxis;
import org.axsl.fotree.Fo;
@@ -48,7 +50,7 @@
implements org.axsl.area.ListItemArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private ListBlockArea parent;
@@ -204,7 +206,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/MainRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/MainRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/MainRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.RelativeAxis;
import org.axsl.common.value.Span;
@@ -55,7 +57,7 @@
// 2 * 12000 * 1.3);
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -352,7 +354,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalBlockArea4a.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,7 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
import org.foray.common.para.DiscretionaryHyphen4a;
import org.axsl.area.AreaTreeException;
@@ -62,7 +63,7 @@
public final class NormalBlockArea4a extends BlockArea implements NormalBlockArea, LineBreakControl, ParaControl {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -273,7 +274,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalFlowRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalFlowRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/NormalFlowRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.RelativeAxis;
import org.axsl.fotree.Fo;
@@ -52,7 +54,7 @@
implements org.axsl.area.NormalFlowRefArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private SpanRa parent;
@@ -259,7 +261,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,7 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
import org.foray.common.WellKnownConstants;
import org.axsl.area.AreaTreeException;
@@ -58,7 +59,7 @@
org.axsl.area.PageCollection {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaTree4a parent;
@@ -421,7 +422,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.font.FontUse;
import org.axsl.fotree.Fo;
@@ -50,7 +52,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor.
@@ -149,7 +151,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.font.FontUse;
import org.axsl.fotree.Fo;
@@ -50,7 +52,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor.
@@ -168,7 +170,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageNumberCitationLastArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.font.FontUse;
import org.axsl.fotree.Fo;
@@ -51,7 +53,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor.
@@ -169,7 +171,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,9 @@
package org.foray.area;
+import org.foray.area.link.FoLink;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.area.PageCollection.Force;
import org.axsl.common.value.AbsoluteAxis;
@@ -64,7 +67,7 @@
org.axsl.area.PageArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private PageCollection parent;
@@ -574,7 +577,7 @@
* @return True if the first area returned by marker is on this page.
*/
private boolean startsHere(final Marker marker) {
- final FoLinkageNormal normalLinkage = this.markerParentLinkage(marker);
+ final FoLink normalLinkage = this.markerParentLinkage(marker);
if (normalLinkage == null) {
return false;
}
@@ -594,7 +597,7 @@
* @return True if the last area returned by marker is on this page.
*/
private boolean endsHere(final Marker marker) {
- final FoLinkageNormal normalLinkage = this.markerParentLinkage(marker);
+ final FoLink normalLinkage = this.markerParentLinkage(marker);
if (normalLinkage == null) {
return false;
}
@@ -613,11 +616,11 @@
* @param marker The marker for which the linkage is needed.
* @return The linkage.
*/
- private FoLinkageNormal markerParentLinkage(final Marker marker) {
+ private FoLink markerParentLinkage(final Marker marker) {
final Fo parent = marker.getParent();
- final FoLinkage proxy = linkage(parent, null);
- if (proxy instanceof FoLinkageNormal) {
- return (FoLinkageNormal) proxy;
+ final Linkage proxy = linkage(parent, null);
+ if (proxy instanceof FoLink) {
+ return (FoLink) proxy;
}
/* This would mean nested markers. Should never happen. */
return null;
@@ -670,7 +673,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.BackgroundRepeat;
import org.axsl.common.value.RelativeAxis;
@@ -58,7 +60,7 @@
org.axsl.area.RegionRefArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -249,7 +251,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRaBody.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRaBody.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionRaBody.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.AbsoluteDirection;
import org.axsl.common.value.BackgroundRepeat;
@@ -51,7 +53,7 @@
/* TODO: Why doesn't this class extend RegionRa? */
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -340,7 +342,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/ScalingValueCitationArea.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,7 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
import org.foray.common.FontContext4a;
import org.axsl.area.AreaTreeException;
@@ -55,7 +56,7 @@
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor.
@@ -162,7 +163,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/SpanRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/SpanRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/SpanRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.RelativeAxis;
import org.axsl.common.value.Span;
@@ -49,7 +51,7 @@
implements org.axsl.area.SpanRefArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private AreaNode4a parent;
@@ -415,7 +417,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableBodyContainer.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableBodyContainer.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableBodyContainer.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.BackgroundRepeat;
import org.axsl.fotree.fo.GraftingPoint;
@@ -46,7 +48,7 @@
org.axsl.area.TableBodyContainer {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor.
@@ -113,7 +115,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableCellRa.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableCellRa.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableCellRa.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.BackgroundRepeat;
import org.axsl.common.value.BorderModel;
@@ -57,7 +59,7 @@
org.axsl.area.TableCellArea {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/** The parent of this node. */
private TableRowContainer parent;
@@ -484,7 +486,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage getLinkage() {
return this.generatedBy;
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TableFooterContainer.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TableFooterContainer.java 2021-12-18 20:31:29 UTC (rev 12239)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TableFooterContainer.java 2021-12-19 14:54:51 UTC (rev 12240)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.area.link.Linkage;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.BackgroundRepeat;
import org.axsl.fotree.fo.GraftingPoint;
@@ -46,7 +48,7 @@
org.axsl.area.TableFooterContainer {
/** The "generated-by" trait, as defined in Section 6.1.1. */
- private FoLinkage generatedBy;
+ private Linkage generatedBy;
/**
* Private Constructor.
@@ -113,7 +115,7 @@
}
@Override
- public FoLinkage getLinkage() {
+ public Linkage g...
[truncated message content] |
|
From: <vic...@us...> - 2021-12-18 20:31:32
|
Revision: 12239
http://sourceforge.net/p/foray/code/12239
Author: victormote
Date: 2021-12-18 20:31:29 +0000 (Sat, 18 Dec 2021)
Log Message:
-----------
Conform to aXSL change: Rename and refactor the ProxyFactory visitor to make it more generic and to clarify the terminology.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractFolioDescriptor.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractIndexFormatting.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BasicLink4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BidiOverride4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Block4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockContainer4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Bookmark4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BookmarkTitle4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BookmarkTree4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ChangeBarBegin4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ChangeBarEnd4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Character4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ColorProfile4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Declarations4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ExternalGraphic4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Float4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Flow4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowAssignment4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowMap4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowNameSpecifier4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowSourceList4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowTargetList4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextCharacters4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Footnote4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FootnoteBody4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexKeyReference4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexPageCitationList4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexRangeBegin4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexRangeEnd4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InitialPropertySet4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Inline4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InlineContainer4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InstreamForeignObject4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/LayoutMasterSet4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Leader4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListBlock4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItem4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItemBody4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItemLabel4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Marker4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiCase4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiProperties4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiPropertySet4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiSwitch4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiToggle4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumber4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumberCitation4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumberCitationLast4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequence4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceMaster4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceWrapper4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionAfter4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionBefore4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionBody4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionEnd4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionNameSpecifier4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionStart4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmAlternatives4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmReference4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RetrieveMarker4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RetrieveTableMarker4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Root4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ScalingValueCitation4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/SimplePageMaster4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/SinglePageMasterReference4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/StaticContent4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Table4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/TableAndCaption4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/TableBody4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/TableCaption4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/TableCell4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/TableColumn4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/TableFooter4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/TableHeader4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/TableRow4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Title4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Wrapper4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/math/obj/InstreamMathElement.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/svg/obj/InstreamSvgElement.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -44,7 +44,7 @@
import org.axsl.common.value.WhiteSpaceTreatment;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.axsl.Metadata;
import java.util.ArrayList;
@@ -117,8 +117,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractFolioDescriptor.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractFolioDescriptor.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractFolioDescriptor.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -35,7 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import java.util.ArrayList;
import java.util.List;
@@ -91,8 +91,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractIndexFormatting.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractIndexFormatting.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractIndexFormatting.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -35,7 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import java.util.ArrayList;
import java.util.List;
@@ -93,8 +93,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BasicLink4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BasicLink4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BasicLink4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -35,7 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.BasicLink;
/**
@@ -111,8 +111,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BidiOverride4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BidiOverride4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BidiOverride4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -35,7 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.BidiOverride;
/**
@@ -99,8 +99,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Block4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Block4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Block4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -35,7 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Block;
/**
@@ -108,8 +108,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockContainer4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockContainer4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockContainer4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.BlockContainer;
import java.util.ArrayList;
@@ -112,8 +112,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -37,7 +37,7 @@
import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.BlockDiscrete;
import java.util.ArrayList;
@@ -67,8 +67,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Bookmark4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Bookmark4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Bookmark4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Bookmark;
import java.util.ArrayList;
@@ -157,8 +157,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BookmarkTitle4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BookmarkTitle4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BookmarkTitle4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -39,7 +39,7 @@
import org.axsl.common.value.WhiteSpaceTreatment;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.BookmarkTitle;
import java.util.ArrayList;
@@ -106,8 +106,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BookmarkTree4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BookmarkTree4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BookmarkTree4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.BookmarkTree;
import java.util.ArrayList;
@@ -111,8 +111,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ChangeBarBegin4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ChangeBarBegin4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ChangeBarBegin4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ChangeBarBegin;
import java.util.List;
@@ -98,8 +98,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ChangeBarEnd4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ChangeBarEnd4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ChangeBarEnd4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ChangeBarEnd;
import java.util.List;
@@ -98,8 +98,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Character4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Character4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Character4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -41,7 +41,7 @@
import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Character;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.orthography.Orthography;
@@ -126,8 +126,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ColorProfile4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ColorProfile4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ColorProfile4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ColorProfile;
import java.util.List;
@@ -97,8 +97,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -37,7 +37,7 @@
import org.axsl.common.value.PagePosition;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ConditionalPageMasterReference;
import java.util.ArrayList;
@@ -238,8 +238,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
/**
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Declarations4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Declarations4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Declarations4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -35,7 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Declarations;
import java.util.ArrayList;
@@ -155,8 +155,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ExternalGraphic4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ExternalGraphic4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ExternalGraphic4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -37,7 +37,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoLineNonText;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ExternalGraphic;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.graphic.Graphic;
@@ -164,8 +164,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Float4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Float4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Float4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import java.util.ArrayList;
import java.util.List;
@@ -105,8 +105,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Flow4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Flow4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Flow4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -33,7 +33,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Flow;
import java.util.Collections;
@@ -120,8 +120,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowAssignment4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowAssignment4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowAssignment4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.FlowAssignment;
import java.util.ArrayList;
@@ -104,8 +104,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowMap4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowMap4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowMap4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.FlowMap;
import java.util.ArrayList;
@@ -102,8 +102,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowNameSpecifier4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowNameSpecifier4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowNameSpecifier4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.FlowNameSpecifier;
import java.util.List;
@@ -98,8 +98,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowSourceList4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowSourceList4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowSourceList4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.FlowSourceList;
import java.util.ArrayList;
@@ -103,8 +103,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowTargetList4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowTargetList4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowTargetList4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.FlowTargetList;
import java.util.ArrayList;
@@ -103,8 +103,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextCharacters4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextCharacters4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextCharacters4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -32,7 +32,7 @@
import org.axsl.common.value.TextTransform;
import org.axsl.fotree.FoContext;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Marker;
/**
@@ -472,8 +472,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -40,7 +40,7 @@
import org.axsl.common.value.TextTransform;
import org.axsl.common.value.WhiteSpaceTreatment;
import org.axsl.fotree.FoContext;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.FoTextWords;
import org.axsl.orthography.Orthography;
import org.axsl.orthography.OrthographyException;
@@ -231,8 +231,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy((AbstractCharacterSequence) this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit((AbstractCharacterSequence) this);
}
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Footnote4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Footnote4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Footnote4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Footnote;
import java.util.ArrayList;
@@ -127,8 +127,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FootnoteBody4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FootnoteBody4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FootnoteBody4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.FootnoteBody;
import java.util.ArrayList;
@@ -101,8 +101,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexKeyReference4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexKeyReference4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexKeyReference4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.IndexKeyReference;
import java.util.ArrayList;
@@ -102,8 +102,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexPageCitationList4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexPageCitationList4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexPageCitationList4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.IndexPageCitationList;
import java.util.ArrayList;
@@ -102,8 +102,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexRangeBegin4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexRangeBegin4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexRangeBegin4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.IndexRangeBegin;
import java.util.List;
@@ -101,8 +101,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexRangeEnd4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexRangeEnd4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/IndexRangeEnd4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.IndexRangeEnd;
import java.util.List;
@@ -100,8 +100,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InitialPropertySet4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InitialPropertySet4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InitialPropertySet4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.InitialPropertySet;
import java.util.ArrayList;
@@ -104,8 +104,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Inline4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Inline4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Inline4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -35,7 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Inline;
/**
@@ -96,8 +96,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InlineContainer4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InlineContainer4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InlineContainer4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.InlineContainer;
import java.util.ArrayList;
@@ -107,8 +107,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InstreamForeignObject4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InstreamForeignObject4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/InstreamForeignObject4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -37,7 +37,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoLineNonText;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.fotree.fo.InstreamForeignObject;
@@ -121,8 +121,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/LayoutMasterSet4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/LayoutMasterSet4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/LayoutMasterSet4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -39,7 +39,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.LayoutMasterSet;
import java.util.ArrayList;
@@ -288,8 +288,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Leader4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Leader4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Leader4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -36,7 +36,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoLineNonText;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.fotree.fo.Leader;
@@ -168,8 +168,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListBlock4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListBlock4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListBlock4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ListBlock;
import java.util.ArrayList;
@@ -110,8 +110,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItem4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItem4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItem4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ListItem;
import java.util.ArrayList;
@@ -120,8 +120,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItemBody4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItemBody4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItemBody4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ListItemBody;
import java.util.ArrayList;
@@ -112,8 +112,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItemLabel4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItemLabel4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ListItemLabel4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.ListItemLabel;
import java.util.ArrayList;
@@ -112,8 +112,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Marker4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Marker4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/Marker4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -37,7 +37,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.fotree.fo.Marker;
@@ -141,8 +141,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiCase4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiCase4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiCase4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.MultiCase;
import java.util.ArrayList;
@@ -102,8 +102,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiProperties4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiProperties4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiProperties4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.MultiProperties;
import java.util.ArrayList;
@@ -106,8 +106,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiPropertySet4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiPropertySet4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiPropertySet4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.MultiPropertySet;
import java.util.List;
@@ -97,8 +97,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiSwitch4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiSwitch4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiSwitch4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.MultiSwitch;
import java.util.ArrayList;
@@ -106,8 +106,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiToggle4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiToggle4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/MultiToggle4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.MultiToggle;
import java.util.ArrayList;
@@ -102,8 +102,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumber4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumber4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumber4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -33,7 +33,7 @@
import org.foray.fotree.PropertyList;
import org.axsl.fotree.FoContext;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.PageNumber;
/**
@@ -63,8 +63,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumberCitation4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumberCitation4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumberCitation4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -33,7 +33,7 @@
import org.foray.fotree.PropertyList;
import org.axsl.fotree.FoContext;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.PageNumberCitation;
/**
@@ -64,8 +64,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumberCitationLast4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumberCitationLast4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageNumberCitationLast4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -33,7 +33,7 @@
import org.foray.fotree.PropertyList;
import org.axsl.fotree.FoContext;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.PageNumberCitationLast;
/**
@@ -64,8 +64,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequence4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequence4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequence4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -35,7 +35,7 @@
import org.axsl.common.PositiveIntegerFormatter;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.Flow;
import org.axsl.fotree.fo.PageSequence;
@@ -249,8 +249,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceMaster4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceMaster4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceMaster4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.PageSequenceMaster;
import java.util.ArrayList;
@@ -125,8 +125,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
/**
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceWrapper4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceWrapper4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceWrapper4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -34,7 +34,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.PageSequenceWrapper;
import java.util.ArrayList;
@@ -102,8 +102,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionAfter4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionAfter4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionAfter4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -32,7 +32,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.FoVisitor;
import org.axsl.fotree.fo.RegionAfter;
/**
@@ -101,8 +101,8 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
+ public <T> T acceptVisitor(final FoVisitor<T> visitor) {
+ return visitor.visit(this);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionBefore4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionBefore4a.java 2021-12-18 14:55:03 UTC (rev 12238)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionBefore4a.java 2021-12-18 20:31:29 UTC (rev 12239)
@@ -32,7 +32,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
-import org.axsl.fotree.ProxyFactory;
+import org.axsl.fo...
[truncated message content] |
|
From: <vic...@us...> - 2021-12-18 14:55:06
|
Revision: 12238
http://sourceforge.net/p/foray/code/12238
Author: victormote
Date: 2021-12-18 14:55:03 +0000 (Sat, 18 Dec 2021)
Log Message:
-----------
Mark implementations of new aXSL interfaces where appropriate.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceMaster4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmAlternatives4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmReference4a.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java 2021-12-18 14:13:43 UTC (rev 12237)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java 2021-12-18 14:55:03 UTC (rev 12238)
@@ -38,6 +38,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.ConditionalPageMasterReference;
import java.util.ArrayList;
import java.util.List;
@@ -45,7 +46,7 @@
/**
* A "conditional-page-master-reference" object in XSL-FO.
*/
-public class ConditionalPageMasterReference4a extends FoObj {
+public class ConditionalPageMasterReference4a extends FoObj implements ConditionalPageMasterReference {
/** The parent of this node. */
private FoObj parent;
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceMaster4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceMaster4a.java 2021-12-18 14:13:43 UTC (rev 12237)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequenceMaster4a.java 2021-12-18 14:55:03 UTC (rev 12238)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.PageSequenceMaster;
import java.util.ArrayList;
import java.util.HashSet;
@@ -44,7 +45,7 @@
/**
* A "page-sequence-master" object in XSL-FO.
*/
-public class PageSequenceMaster4a extends FoObj implements PageSequenceTemplate {
+public class PageSequenceMaster4a extends FoObj implements PageSequenceMaster, PageSequenceTemplate {
/** The parent of this node. */
private FoObj parent;
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmAlternatives4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmAlternatives4a.java 2021-12-18 14:13:43 UTC (rev 12237)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmAlternatives4a.java 2021-12-18 14:55:03 UTC (rev 12238)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.RepeatablePageMasterAlternatives;
import java.util.ArrayList;
import java.util.HashSet;
@@ -44,7 +45,7 @@
/**
* A "repeatable-page-master-alternatives" object in XSL-FO.
*/
-public class RepeatablePmAlternatives4a extends SubSequenceSpecifier {
+public class RepeatablePmAlternatives4a extends SubSequenceSpecifier implements RepeatablePageMasterAlternatives {
/** The children of this object. */
private List<ConditionalPageMasterReference4a> children
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmReference4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmReference4a.java 2021-12-18 14:13:43 UTC (rev 12237)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RepeatablePmReference4a.java 2021-12-18 14:55:03 UTC (rev 12238)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.RepeatablePageMasterReference;
import java.util.HashSet;
import java.util.List;
@@ -43,7 +44,7 @@
/**
* A "repeatable-page-master-reference" object in XSL-FO.
*/
-public class RepeatablePmReference4a extends SubSequenceSpecifier {
+public class RepeatablePmReference4a extends SubSequenceSpecifier implements RepeatablePageMasterReference {
/**
* Constructor.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-18 14:13:45
|
Revision: 12237
http://sourceforge.net/p/foray/code/12237
Author: victormote
Date: 2021-12-18 14:13:43 +0000 (Sat, 18 Dec 2021)
Log Message:
-----------
Conform to aXSL changes: Add remaining missing FO objects and properties.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/PropertyList.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdBlankOrNotBlank.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdOddOrEven.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdPagePosition.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java 2021-12-17 19:23:29 UTC (rev 12236)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java 2021-12-18 14:13:43 UTC (rev 12237)
@@ -69,6 +69,7 @@
import org.axsl.common.value.BackgroundAttachment;
import org.axsl.common.value.BackgroundRepeat;
import org.axsl.common.value.Baseline;
+import org.axsl.common.value.BlankOrNotBlank;
import org.axsl.common.value.BorderModel;
import org.axsl.common.value.BorderStyle;
import org.axsl.common.value.Break;
@@ -89,9 +90,11 @@
import org.axsl.common.value.LinefeedTreatment;
import org.axsl.common.value.LinkType;
import org.axsl.common.value.MediaUsage;
+import org.axsl.common.value.OddOrEven;
import org.axsl.common.value.Overflow;
import org.axsl.common.value.PageCitationStrategy;
import org.axsl.common.value.PageNumberTreatment;
+import org.axsl.common.value.PagePosition;
import org.axsl.common.value.ReferenceOrientation;
import org.axsl.common.value.RelativeAlign;
import org.axsl.common.value.RelativeCompass;
@@ -1061,8 +1064,8 @@
* Returns the "page-position" trait.
* @return The "page-position" trait.
*/
- public FoValue traitPagePosition() {
- return getPropertyList().getPagePosition();
+ public PagePosition traitPagePosition() {
+ return getPropertyList().getPagePosition(this);
}
/**
@@ -1069,8 +1072,8 @@
* Returns the "odd-or-even" trait.
* @return The "odd-or-even" trait.
*/
- public FoValue traitOddOrEven() {
- return getPropertyList().getOddOrEven();
+ public OddOrEven traitOddOrEven() {
+ return getPropertyList().getOddOrEven(this);
}
/**
@@ -1077,7 +1080,7 @@
* Returns the "blank-or-not-blank" trait.
* @return The "blank-or-not-blank" trait.
*/
- public FoValue traitBlankOrNotBlank() {
+ public BlankOrNotBlank traitBlankOrNotBlank() {
return getPropertyList().getBlankOrNotBlank(this);
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/PropertyList.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/PropertyList.java 2021-12-17 19:23:29 UTC (rev 12236)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/PropertyList.java 2021-12-18 14:13:43 UTC (rev 12237)
@@ -235,8 +235,11 @@
import org.axsl.common.value.AbsoluteDirection;
import org.axsl.common.value.AlignmentBaseline;
import org.axsl.common.value.Baseline;
+import org.axsl.common.value.BlankOrNotBlank;
import org.axsl.common.value.Compass;
import org.axsl.common.value.Conditionality;
+import org.axsl.common.value.OddOrEven;
+import org.axsl.common.value.PagePosition;
import org.axsl.common.value.RelativeAxis;
import org.axsl.common.value.RelativeCompass;
import org.axsl.common.value.ShadowEffect;
@@ -1079,12 +1082,13 @@
/**
* Returns the page-position property.
+ * @param fobj The FoObj to which the property belongs.
* @return The page-position property.
*/
- public FoValue getPagePosition() {
+ public PagePosition getPagePosition(final FoObj fobj) {
final PdPagePosition property = (PdPagePosition) getProperty(FoProperty.PAGE_POSITION);
if (property != null) {
- return property.getValue();
+ return property.getValue(fobj);
}
return PdPagePosition.getValueNoInstance();
}
@@ -1091,12 +1095,13 @@
/**
* Returns the odd-or-even property.
+ * @param fobj The FoObj to which the property belongs.
* @return The odd-or-even property.
*/
- public FoValue getOddOrEven() {
+ public OddOrEven getOddOrEven(final FoObj fobj) {
final PdOddOrEven property = (PdOddOrEven) getProperty(FoProperty.ODD_OR_EVEN);
if (property != null) {
- return property.getValue();
+ return property.getValue(fobj);
}
return PdOddOrEven.getValueNoInstance();
}
@@ -1106,7 +1111,7 @@
* @param fobj The FoObj to which the property belongs.
* @return The blank-or-not-blank property.
*/
- public FoValue getBlankOrNotBlank(final FoObj fobj) {
+ public BlankOrNotBlank getBlankOrNotBlank(final FoObj fobj) {
final PdBlankOrNotBlank property = (PdBlankOrNotBlank) getProperty(FoProperty.BLANK_OR_NOT_BLANK);
if (property != null) {
return property.getValue(null, fobj);
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java 2021-12-17 19:23:29 UTC (rev 12236)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/ConditionalPageMasterReference4a.java 2021-12-18 14:13:43 UTC (rev 12237)
@@ -31,8 +31,10 @@
import org.foray.fotree.FoObj;
import org.foray.fotree.Namespace;
import org.foray.fotree.PropertyList;
-import org.foray.fotree.fo.FoValue;
+import org.axsl.common.value.BlankOrNotBlank;
+import org.axsl.common.value.OddOrEven;
+import org.axsl.common.value.PagePosition;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
@@ -172,19 +174,19 @@
*/
public boolean matchesPositionCriteria(final boolean isFirstPage,
final boolean isLastPage) {
- final FoValue pagePosition = traitPagePosition();
- if (pagePosition == FoValue.ANY) {
+ final PagePosition pagePosition = traitPagePosition();
+ if (pagePosition == PagePosition.ANY) {
return true;
}
- if (pagePosition == FoValue.FIRST
+ if (pagePosition == PagePosition.FIRST
&& isFirstPage) {
return true;
}
- if (pagePosition == FoValue.LAST
+ if (pagePosition == PagePosition.LAST
&& isLastPage) {
return true;
}
- if (pagePosition == FoValue.REST
+ if (pagePosition == PagePosition.REST
&& !isFirstPage
&& !isLastPage) {
return true;
@@ -200,11 +202,11 @@
*/
public boolean matchesParityCriteria(final boolean isOddPage) {
if (isOddPage) {
- if (traitOddOrEven() == FoValue.EVEN) {
+ if (traitOddOrEven() == OddOrEven.EVEN) {
return false;
}
} else {
- if (traitOddOrEven() == FoValue.ODD) {
+ if (traitOddOrEven() == OddOrEven.ODD) {
return false;
}
}
@@ -218,11 +220,11 @@
*/
public boolean matchesContentCriteria(final boolean isEmptyPage) {
if (isEmptyPage) {
- if (traitBlankOrNotBlank() == FoValue.NOT_BLANK) {
+ if (traitBlankOrNotBlank() == BlankOrNotBlank.NOT_BLANK) {
return false;
}
} else {
- if (traitBlankOrNotBlank() == FoValue.BLANK) {
+ if (traitBlankOrNotBlank() == BlankOrNotBlank.BLANK) {
return false;
}
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdBlankOrNotBlank.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdBlankOrNotBlank.java 2021-12-17 19:23:29 UTC (rev 12236)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdBlankOrNotBlank.java 2021-12-18 14:13:43 UTC (rev 12237)
@@ -34,6 +34,7 @@
import org.foray.fotree.fo.FoValue;
import org.foray.fotree.value.PropertyValue;
+import org.axsl.common.value.BlankOrNotBlank;
import org.axsl.fotree.FoContext;
/**
@@ -80,8 +81,8 @@
* Returns the default (initial) value for this property.
* @return The initial value for this property.
*/
- public static FoValue getValueNoInstance() {
- return FoValue.ANY;
+ public static BlankOrNotBlank getValueNoInstance() {
+ return BlankOrNotBlank.ANY;
}
/**
@@ -90,34 +91,26 @@
* @param fobj The FO for which this value is needed.
* @return The value of this property.
*/
- public FoValue getValue(final FoContext context, final FoObj fobj) {
+ public BlankOrNotBlank getValue(final FoContext context, final FoObj fobj) {
if (value().canEvalKeyword()) {
final FoValue keyword = this.convertValueToFoValue(value());
- if (keyword == FoValue.INHERIT) {
+ switch(keyword) {
+ case BLANK: return BlankOrNotBlank.BLANK;
+ case NOT_BLANK: return BlankOrNotBlank.NOT_BLANK;
+ case ANY: return BlankOrNotBlank.ANY;
+ case INHERIT: {
final FoObj parent = fobj.effectiveParent(context);
if (parent != null) {
- return getInheritedValue(context, parent);
+ return parent.traitBlankOrNotBlank();
}
return getValueNoInstance();
}
- return keyword;
+ default: break;
+ }
}
throw this.unexpectedRetrieval();
}
- /**
- * Returns the inherited value for this property.
- * @param context An object that knows how to resolve FO Tree context
- * issues.
- * @param fobj This is the ancestor FoObj node that should be used to get
- * the inherited value.
- * @return The value for this property for fobj.
- */
- private FoValue getInheritedValue(final FoContext context,
- final FoObj fobj) {
- return fobj.traitBlankOrNotBlank();
- }
-
@Override
public FoProperty getPropertyType() {
return FoProperty.BLANK_OR_NOT_BLANK;
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdOddOrEven.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdOddOrEven.java 2021-12-17 19:23:29 UTC (rev 12236)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdOddOrEven.java 2021-12-18 14:13:43 UTC (rev 12237)
@@ -34,6 +34,8 @@
import org.foray.fotree.fo.FoValue;
import org.foray.fotree.value.PropertyValue;
+import org.axsl.common.value.OddOrEven;
+
/**
* The "odd-or-even" property in XSL-FO.
* @see "XSL-FO Recommendation 1.1, Section 7.27.12."
@@ -76,12 +78,28 @@
/**
* Returns the value of this property.
+ * @param fobj The FO for which this value is needed.
* @return The value of this property.
*/
- public FoValue getValue() {
+ public OddOrEven getValue(final FoObj fobj) {
if (value().canEvalKeyword()) {
final FoValue keyword = this.convertValueToFoValue(value());
- return keyword;
+ switch (keyword) {
+ case ODD: return OddOrEven.ODD;
+ case EVEN: return OddOrEven.EVEN;
+ case ANY: return OddOrEven.ANY;
+ case INHERIT: {
+ final FoObj parent = fobj.effectiveParent(null);
+ if (parent == null) {
+ return getValueNoInstance();
+ } else {
+ return parent.traitOddOrEven();
+ }
+ }
+ default: {
+ break;
+ }
+ }
}
throw this.unexpectedRetrieval();
}
@@ -90,8 +108,8 @@
* Returns the default (initial) value for this property.
* @return The initial value for this property.
*/
- public static FoValue getValueNoInstance() {
- return FoValue.ANY;
+ public static OddOrEven getValueNoInstance() {
+ return OddOrEven.ANY;
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdPagePosition.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdPagePosition.java 2021-12-17 19:23:29 UTC (rev 12236)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdPagePosition.java 2021-12-18 14:13:43 UTC (rev 12237)
@@ -34,6 +34,8 @@
import org.foray.fotree.fo.FoValue;
import org.foray.fotree.value.PropertyValue;
+import org.axsl.common.value.PagePosition;
+
/**
* The "page-position" property in XSL-FO.
* @see "XSL-FO Recommendation 1.1, Section 7.27.14."
@@ -78,12 +80,30 @@
/**
* Returns the value of this property.
+ * @param fobj The FO for which this value is needed.
* @return The value of this property.
*/
- public FoValue getValue() {
+ public PagePosition getValue(final FoObj fobj) {
if (value().canEvalKeyword()) {
final FoValue keyword = this.convertValueToFoValue(value());
- return keyword;
+ switch (keyword) {
+ case ONLY: return PagePosition.ONLY;
+ case FIRST: return PagePosition.FIRST;
+ case LAST: return PagePosition.LAST;
+ case REST: return PagePosition.REST;
+ case ANY: return PagePosition.ANY;
+ case INHERIT: {
+ final FoObj parent = fobj.effectiveParent(null);
+ if (parent == null) {
+ return getValueNoInstance();
+ } else {
+ return parent.traitPagePosition();
+ }
+ }
+ default: {
+ break;
+ }
+ }
}
throw this.unexpectedRetrieval();
}
@@ -92,8 +112,8 @@
* Returns the default (initial) value for this property.
* @return The initial value for this property.
*/
- public static FoValue getValueNoInstance() {
- return FoValue.ANY;
+ public static PagePosition getValueNoInstance() {
+ return PagePosition.ANY;
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-17 19:23:31
|
Revision: 12236
http://sourceforge.net/p/foray/code/12236
Author: victormote
Date: 2021-12-17 19:23:29 +0000 (Fri, 17 Dec 2021)
Log Message:
-----------
Conform to aXSL change: Rename "extension" package to "axsl" to properly reflect its namespace.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java 2021-12-17 19:16:42 UTC (rev 12235)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java 2021-12-17 19:23:29 UTC (rev 12236)
@@ -45,7 +45,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
-import org.axsl.fotree.extension.Metadata;
+import org.axsl.fotree.axsl.Metadata;
import java.util.ArrayList;
import java.util.List;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-17 19:16:45
|
Revision: 12235
http://sourceforge.net/p/foray/code/12235
Author: victormote
Date: 2021-12-17 19:16:42 +0000 (Fri, 17 Dec 2021)
Log Message:
-----------
Conform to aXSL changes: Add some missing interfaces, mostly for flow and layout.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowAssignment4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowMap4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowNameSpecifier4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowSourceList4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowTargetList4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/LayoutMasterSet4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequence4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionNameSpecifier4a.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoObj.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -3321,43 +3321,31 @@
return scaling == Scaling.UNIFORM;
}
- /**
- * Returns the flow-map-name property for this object.
- * @return the flow-map-name property for this object, or null if none is specified.
- */
- public String getFlowMapName() {
+ @Override
+ public String traitFlowMapName() {
final String flowMapName = getPropertyList().getFlowMapName();
return flowMapName;
}
- /**
- * Returns the flow-map-reference property for this object.
- * @return the flow-map-reference property for this object, or null if none is specified.
- */
- public String getFlowMapReference() {
- final String flowMapReference = getPropertyList().getFlowMapReference();
- return flowMapReference;
- }
-
- /**
- * Returns the flow-name-reference property for this object.
- * @return the flow-name-reference property for this object, or null if none is specified.
- */
- public String getFlowNameReference() {
+ @Override
+ public String traitFlowNameReference() {
final String flowNameReference = getPropertyList().getFlowNameReference();
return flowNameReference;
}
- /**
- * Returns the flow-name-reference property for this object.
- * @return the flow-name-reference property for this object, or null if none is specified.
- */
- public String getRegionNameReference() {
+ @Override
+ public String traitRegionNameReference() {
final String regionNameReference = getPropertyList().getRegionNameReference();
return regionNameReference;
}
@Override
+ public String traitFlowMapReference() {
+ final String flowMapReference = getPropertyList().getFlowMapReference();
+ return flowMapReference;
+ }
+
+ @Override
public Iterator<Fo> iterator() {
return new ChildIterator();
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowAssignment4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowAssignment4a.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowAssignment4a.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.FlowAssignment;
import java.util.ArrayList;
import java.util.List;
@@ -43,7 +44,7 @@
* A "flow-assignment" object in XSL-FO.
* @see "XSL-FO Recommendation 1.1, Section 6.4.23."
*/
-public class FlowAssignment4a extends FoObj {
+public class FlowAssignment4a extends FoObj implements FlowAssignment {
/** The parent of this node. */
private FlowMap4a parent;
@@ -117,12 +118,7 @@
return this.children;
}
- /**
- * Returns the child flow-source-list.
- * This method should not be called until the child objects have been
- * parsed and added to this's children.
- * @return The child flow-source-list.
- */
+ @Override
public FlowSourceList4a getFlowSourceList() {
if (this.children.size() < 1) {
throw new IllegalStateException("flow-source-list not yet parsed");
@@ -130,12 +126,7 @@
return (FlowSourceList4a) this.children.get(0);
}
- /**
- * Returns the child flow-target-list.
- * This method should not be called until the child objects have been
- * parsed and added to this's children.
- * @return The child flow-target-list.
- */
+ @Override
public FlowTargetList4a getFlowTargetList() {
if (this.children.size() < 2) {
throw new IllegalStateException("flow-target-list not yet parsed");
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowMap4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowMap4a.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowMap4a.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.FlowMap;
import java.util.ArrayList;
import java.util.List;
@@ -43,7 +44,7 @@
* A "flow-map" object in XSL-FO.
* @see "XSL-FO Recommendation 1.1, Section 6.4.22."
*/
-public class FlowMap4a extends FoObj {
+public class FlowMap4a extends FoObj implements FlowMap {
/** The parent of this node. */
private LayoutMasterSet4a parent;
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowNameSpecifier4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowNameSpecifier4a.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowNameSpecifier4a.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.FlowNameSpecifier;
import java.util.List;
@@ -42,7 +43,7 @@
* A "flow-name-specifier" object in XSL-FO.
* @see "XSL-FO Recommendation 1.1, Section 6.4.25."
*/
-public class FlowNameSpecifier4a extends FoObj {
+public class FlowNameSpecifier4a extends FoObj implements FlowNameSpecifier {
/** The parent of this node. */
private FlowSourceList4a parent;
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowSourceList4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowSourceList4a.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowSourceList4a.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.FlowSourceList;
import java.util.ArrayList;
import java.util.List;
@@ -43,7 +44,7 @@
* A "flow-source-list" object in XSL-FO.
* @see "XSL-FO Recommendation 1.1, Section 6.4.24."
*/
-public class FlowSourceList4a extends FoObj {
+public class FlowSourceList4a extends FoObj implements FlowSourceList {
/** The parent of this node. */
private FlowAssignment4a parent;
@@ -140,7 +141,7 @@
*/
public boolean hasFlowNameSpecifier(final String flowName) {
for (FlowNameSpecifier4a specifier : this.children) {
- final String flowNameReference = specifier.getFlowNameReference();
+ final String flowNameReference = specifier.traitFlowNameReference();
if (flowName.equals(flowNameReference)) {
return true;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowTargetList4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowTargetList4a.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FlowTargetList4a.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.FlowTargetList;
import java.util.ArrayList;
import java.util.List;
@@ -43,7 +44,7 @@
* A "flow-target-list" object in XSL-FO.
* @see "XSL-FO Recommendation 1.1, Section 6.4.26."
*/
-public class FlowTargetList4a extends FoObj {
+public class FlowTargetList4a extends FoObj implements FlowTargetList {
/** The parent of this node. */
private FlowAssignment4a parent;
@@ -144,7 +145,7 @@
final List<String> theList = new ArrayList<String>(size);
for (int i = 0; i < size; i++) {
final RegionNameSpecifier4a specifier = this.children.get(i);
- theList.add(i, specifier.getRegionNameReference());
+ theList.add(i, specifier.traitRegionNameReference());
}
return theList;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/LayoutMasterSet4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/LayoutMasterSet4a.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/LayoutMasterSet4a.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -40,6 +40,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.LayoutMasterSet;
import java.util.ArrayList;
import java.util.HashMap;
@@ -49,7 +50,7 @@
/**
* A "layout-master-set" object in XSL-FO.
*/
-public class LayoutMasterSet4a extends FoObj {
+public class LayoutMasterSet4a extends FoObj implements LayoutMasterSet {
/** The parent of this node. */
private Root4a parent;
@@ -209,7 +210,7 @@
*/
private void addFlowMap(final FlowMap4a flowMap) throws FoTreeException {
/* Checks for a duplicate flow-map-name. */
- final String flowMapName = flowMap.getFlowMapName();
+ final String flowMapName = flowMap.traitFlowMapName();
final FlowMap4a existingFlowMap = this.flowMaps.get(flowMapName);
if (existingFlowMap != null) {
flowMap.throwException("'flow-map-name' (" + flowMapName
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequence4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequence4a.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/PageSequence4a.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -290,7 +290,7 @@
flowSourceList.getChildren();
for (FlowNameSpecifier4a flowNameSpecifier : flowNameSpecifiers) {
final String flowNameReference =
- flowNameSpecifier.getFlowNameReference();
+ flowNameSpecifier.traitFlowNameReference();
if (flowNameReference.equals(flow.traitFlowName())) {
return true;
}
@@ -332,7 +332,7 @@
* @return The flow-map for this page-sequence.
*/
public FlowMap4a getFlowMap() {
- final String flowMapReference = this.getFlowMapReference();
+ final String flowMapReference = this.traitFlowMapReference();
final LayoutMasterSet4a lms = this.getLayoutMasterSet();
if (flowMapReference == null) {
return lms.getImplicitFlowMap();
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionNameSpecifier4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionNameSpecifier4a.java 2021-12-17 17:54:52 UTC (rev 12234)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/RegionNameSpecifier4a.java 2021-12-17 19:16:42 UTC (rev 12235)
@@ -35,6 +35,7 @@
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoTreeException;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.RegionNameSpecifier;
import java.util.List;
@@ -42,7 +43,7 @@
* A "region-name-specifier" object in XSL-FO.
* @see "XSL-FO Recommendation 1.1, Section 6.4.27."
*/
-public class RegionNameSpecifier4a extends FoObj {
+public class RegionNameSpecifier4a extends FoObj implements RegionNameSpecifier {
/** The parent of this node. */
private FlowTargetList4a parent;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-17 17:54:54
|
Revision: 12234
http://sourceforge.net/p/foray/code/12234
Author: victormote
Date: 2021-12-17 17:54:52 +0000 (Fri, 17 Dec 2021)
Log Message:
-----------
Conform to aXSL change: Add specific return types for getParent() for some cases where that is known.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/NamespaceAxsl.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/ObjectMakerAxsl.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractTablePart.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/NamespaceAxsl.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/NamespaceAxsl.java 2021-12-16 20:25:31 UTC (rev 12233)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/NamespaceAxsl.java 2021-12-17 17:54:52 UTC (rev 12234)
@@ -64,22 +64,17 @@
}
@Override
- public FoObj parseElementForNS(final FoTree4a foTree, final String localName,
- final FoObj currentFObj, final PropertyList list,
- final Locator locator) throws FoTreeException {
- return ObjectMakerAxsl.makeObject(localName, currentFObj, list,
- locator);
+ public FoObj parseElementForNS(final FoTree4a foTree, final String localName, final FoObj currentFObj,
+ final PropertyList list, final Locator locator) throws FoTreeException {
+ return ObjectMakerAxsl.makeObject(localName, currentFObj, list, locator);
}
@Override
- public void parseAttributes(final PropertyList propertyList,
- final Attributes attlist, final FoObj currentFObj,
- final Locator locator, final FoTreeParser4a builder)
- throws FoTreeException {
+ public void parseAttributes(final PropertyList propertyList, final Attributes attlist, final FoObj currentFObj,
+ final Locator locator, final FoTreeParser4a builder) throws FoTreeException {
final int[] attributeSort = sortAttributes(attlist);
try {
- makeList(propertyList, attlist, currentFObj, attributeSort,
- locator, builder);
+ makeList(propertyList, attlist, currentFObj, attributeSort, locator, builder);
} catch (final PropertyException e) {
currentFObj.throwException(e.getMessage());
}
@@ -86,12 +81,9 @@
}
@Override
- public Property parseAttributeForNS(final Attributes attributes,
- final String attributeName, final String attributeValue,
- final FoObj fobj, final Locator locator)
- throws PropertyException {
- return PropertyMakerAxsl.makeProperty(attributeName,
- attributeValue, fobj);
+ public Property parseAttributeForNS(final Attributes attributes, final String attributeName,
+ final String attributeValue, final FoObj fobj, final Locator locator) throws PropertyException {
+ return PropertyMakerAxsl.makeProperty(attributeName, attributeValue, fobj);
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/ObjectMakerAxsl.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/ObjectMakerAxsl.java 2021-12-16 20:25:31 UTC (rev 12233)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/ObjectMakerAxsl.java 2021-12-17 17:54:52 UTC (rev 12234)
@@ -31,6 +31,7 @@
import org.foray.fotree.FoObj;
import org.foray.fotree.PropertyList;
import org.foray.fotree.axsl.obj.Metadata4a;
+import org.foray.fotree.fo.obj.Declarations4a;
import org.xml.sax.Locator;
@@ -54,13 +55,16 @@
* @param locator The SAX Locator object.
* @return The new FoObj instance for this extension element.
*/
- public static FoObj makeObject(final String objectName, final FoObj parent,
- final PropertyList propertyList, final Locator locator) {
- final AxslObject enumeration = AxslObject.extensionValueOf(
- objectName);
+ public static FoObj makeObject(final String objectName, final FoObj parent, final PropertyList propertyList,
+ final Locator locator) {
+ final AxslObject enumeration = AxslObject.extensionValueOf(objectName);
switch (enumeration) {
case METADATA: {
- return new Metadata4a(parent);
+ if (parent instanceof Declarations4a) {
+ return new Metadata4a((Declarations4a) parent);
+ }
+ throw new IllegalArgumentException("Parent of " + Metadata4a.class.getName() + " must be instance of "
+ + Declarations4a.class.getName());
}
default: {
return null;
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java 2021-12-16 20:25:31 UTC (rev 12233)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/axsl/obj/Metadata4a.java 2021-12-17 17:54:52 UTC (rev 12234)
@@ -56,7 +56,7 @@
public class Metadata4a extends FoObj implements Metadata {
/** The parent of this node. */
- private FoObj parent;
+ private Declarations4a parent;
/** The children of this object. */
private List<AbstractCharacterSequence> children = new ArrayList<AbstractCharacterSequence>(1);
@@ -65,7 +65,7 @@
* Constructor.
* @param parent The parent FoObj.
*/
- public Metadata4a(final FoObj parent) {
+ public Metadata4a(final Declarations4a parent) {
super(parent);
this.parent = parent;
}
@@ -72,10 +72,6 @@
@Override
protected void validateAncestry() throws FoTreeException {
- if (! (this.parent instanceof Declarations4a)) {
- throwException(this.getFullName()
- + " must be child of fo:declarations.");
- }
}
@Override
@@ -126,7 +122,7 @@
}
@Override
- public FoObj getParent() {
+ public Declarations4a getParent() {
return this.parent;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractTablePart.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractTablePart.java 2021-12-16 20:25:31 UTC (rev 12233)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractTablePart.java 2021-12-17 17:54:52 UTC (rev 12234)
@@ -205,7 +205,7 @@
}
@Override
- public FoObj getParent() {
+ public Table4a getParent() {
return this.parent;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java 2021-12-16 20:25:31 UTC (rev 12233)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/BlockDiscrete4a.java 2021-12-17 17:54:52 UTC (rev 12234)
@@ -52,7 +52,7 @@
public class BlockDiscrete4a extends FoContainerInline implements BlockDiscrete {
/** The parent of this node. */
- private FoContainerComplex parent;
+ private Block4a parent;
/** The children of this object. */
private List<FoObj> children = new ArrayList<FoObj>();
@@ -61,7 +61,7 @@
* Constructor.
* @param parent The parent FoObj.
*/
- public BlockDiscrete4a(final FoContainerComplex parent) {
+ public BlockDiscrete4a(final Block4a parent) {
super(parent);
this.parent = parent;
}
@@ -82,7 +82,7 @@
}
@Override
- public FoContainerComplex getParent() {
+ public Block4a getParent() {
return this.parent;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-16 20:25:33
|
Revision: 12233
http://sourceforge.net/p/foray/code/12233
Author: victormote
Date: 2021-12-16 20:25:31 +0000 (Thu, 16 Dec 2021)
Log Message:
-----------
Add missing text-related traits.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/Area4a.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/Area4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/Area4a.java 2021-12-16 16:48:02 UTC (rev 12232)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/Area4a.java 2021-12-16 20:25:31 UTC (rev 12233)
@@ -36,6 +36,7 @@
import org.axsl.area.BlockContainerRefArea;
import org.axsl.common.value.AbsoluteAxis;
import org.axsl.common.value.AbsoluteDirection;
+import org.axsl.common.value.LinefeedTreatment;
import org.axsl.common.value.LinkType;
import org.axsl.common.value.RelativeAxis;
import org.axsl.common.value.WhiteSpaceTreatment;
@@ -745,6 +746,26 @@
}
/**
+ * Returns the linefeed-treatment trait for this area.
+ * @return The linefeed-treatment trait for this area.
+ */
+ public LinefeedTreatment traitLinefeedTreatment() {
+ final NormalBlockArea4a nearestBlockArea = this.nearestNormalBlockArea();
+ final Fo block = nearestBlockArea.traitGeneratedBy();
+ return block.traitLinefeedTreatment(nearestBlockArea);
+ }
+
+ /**
+ * Returns the white-space-collapse trait for this area.
+ * @return The white-space-collapse trait for this area.
+ */
+ public boolean traitWhiteSpaceCollapse() {
+ final NormalBlockArea4a nearestBlockArea = this.nearestNormalBlockArea();
+ final Fo block = nearestBlockArea.traitGeneratedBy();
+ return block.traitWhiteSpaceCollapse(nearestBlockArea);
+ }
+
+ /**
* Indicates whether this is the first child of the "generated by".
* @return True if and only if this is the first child of the "generated by".
*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-16 16:48:05
|
Revision: 12232
http://sourceforge.net/p/foray/code/12232
Author: victormote
Date: 2021-12-16 16:48:02 +0000 (Thu, 16 Dec 2021)
Log Message:
-----------
Split TextArea into two subclasses, one for Characters, one for Words.
Modified Paths:
--------------
trunk/foray/foray-app/src/test/java/org/foray/app/area/AbstractAreaTreeTest.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractAncestralInlineArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
Added Paths:
-----------
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java
Modified: trunk/foray/foray-app/src/test/java/org/foray/app/area/AbstractAreaTreeTest.java
===================================================================
--- trunk/foray/foray-app/src/test/java/org/foray/app/area/AbstractAreaTreeTest.java 2021-12-16 15:42:04 UTC (rev 12231)
+++ trunk/foray/foray-app/src/test/java/org/foray/app/area/AbstractAreaTreeTest.java 2021-12-16 16:48:02 UTC (rev 12232)
@@ -36,7 +36,7 @@
import org.foray.area.PageRa;
import org.foray.area.RegionRaBody;
import org.foray.area.SpanRa;
-import org.foray.area.TextArea;
+import org.foray.area.TextAreaCharacters;
import org.foray.common.data.OrderedTreeNode;
import org.foray.font.ConsumerFont4a;
import org.foray.font.Font4a;
@@ -161,8 +161,8 @@
node.postOrderDescendantIterator();
while (iterator.hasNext()) {
final OrderedTreeNode<AreaNode4a> otn = iterator.next();
- if (otn instanceof TextArea) {
- final TextArea textArea = (TextArea) otn;
+ if (otn instanceof TextAreaCharacters) {
+ final TextAreaCharacters textArea = (TextAreaCharacters) otn;
final CharSequence text = textArea.getRawText();
builder.append(text);
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractAncestralInlineArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractAncestralInlineArea.java 2021-12-16 15:42:04 UTC (rev 12231)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractAncestralInlineArea.java 2021-12-16 16:48:02 UTC (rev 12232)
@@ -86,7 +86,7 @@
final GraftingPoint graftingPoint) {
if (LineArea4a.shouldCreateTextArea(foText, this, startOffset,
sizeInChars, isLastItemOnLine, this)) {
- final TextArea newTextArea = TextArea.makeTextArea(foText, this,
+ final TextArea newTextArea = TextAreaCharacters.makeTextArea(foText, this,
graftingPoint, startOffset, sizeInChars, ipd,
hasDiscretionaryHyphen, hasFauxSmallCaps);
this.children.add(newTextArea);
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-16 15:42:04 UTC (rev 12231)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-16 16:48:02 UTC (rev 12232)
@@ -1012,7 +1012,7 @@
final GraftingPoint graftingPoint) {
if (shouldCreateTextArea(foText, this, startOffset, sizeInChars,
isLastItemOnLine, this)) {
- final TextArea newTextArea = TextArea.makeTextArea(foText, this,
+ final TextArea newTextArea = TextAreaCharacters.makeTextArea(foText, this,
graftingPoint, startOffset, sizeInChars, ipd,
hasDiscretionaryHyphen, hasFauxSmallCaps);
this.children.add(newTextArea);
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-16 15:42:04 UTC (rev 12231)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextArea.java 2021-12-16 16:48:02 UTC (rev 12232)
@@ -28,7 +28,6 @@
package org.foray.area;
-import org.foray.common.CharSequenceSubset;
import org.foray.common.FontContext4a;
import org.foray.common.primitive.XmlCharacterUtils;
@@ -38,13 +37,11 @@
import org.axsl.font.FontUse;
import org.axsl.fotree.Fo;
import org.axsl.fotree.fo.FoTextCharacters;
-import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.galley.GalleyVisitorException;
import org.axsl.galley.RenderVisitor;
import org.axsl.unicode.block.Basic_Latin_Block;
import java.awt.Color;
-import java.io.Serializable;
import java.util.Collections;
import java.util.List;
@@ -66,19 +63,15 @@
* different Fonts due to overriding).
* However, a TextSegment always springs from exactly one FOText node.
*/
-public final class TextArea extends AbstractInlineArea
+public abstract class TextArea extends AbstractInlineArea
implements org.axsl.galley.TextArea, org.axsl.area.GlyphAreaSequence {
- /** The parent of this node. The parent can be either a {@link LineArea4a}
- * or another {@link AbstractInlineArea}. */
+ /** The parent of this node. The parent can be either a {@link LineArea4a} or another {@link AbstractInlineArea}. */
private Area4a parent;
/** The "generated-by" trait, as defined in Section 6.1.1. */
private FoLinkage generatedBy;
- /** The resolved textual content of this text area. */
- private TextAreaCharSequence charSequence;
-
/**
* The amount, in millipoints, of letter-spacing to be used <em>between
* each letter</em> in this text.
@@ -96,180 +89,25 @@
/**
* Private Constructor.
* @param parentArea The parent area.
+ * @param generatedBy The FO tree linkage.
*/
- private TextArea(final LineArea4a parentArea) {
+ public TextArea(final LineArea4a parentArea, final FoLinkage generatedBy) {
this.parent = parentArea;
+ this.generatedBy = generatedBy;
}
/**
* Private Constructor.
* @param parentArea The parent area.
+ * @param generatedBy The FO tree linkage.
*/
- private TextArea(final AbstractInlineArea parentArea) {
+ public TextArea(final AbstractInlineArea parentArea, final FoLinkage generatedBy) {
this.parent = parentArea;
+ this.generatedBy = generatedBy;
}
/**
- * Package-visible factory method.
- * @param generatedBy The FO node generating this area.
- * @param parentArea The parent area.
- * @param graftingPoint The ancestor retrieve-marker, if any, for this
- * area.
- * @param backingOffset The index of the first character in the char array
- * that is the backing for the text in this object.
- * For example, if the text in this TextSegment starts at array element 5
- * and has a size of 14, backingOffset will be 5.
- * @param backingSize The number of char elements in the backing char array
- * that are actually included in this area.
- * For example, if the text in this TextSegment starts at array element 5
- * and has a size of 14, backingSize will be 14.
- * The ending array element that belongs to this TextSegment is computed
- * as backingOffset + backingSize.
- * @param progressionDimensionUsed The size, in millipoints, of the IPD used
- * by this text-area.
- * @param hasDiscretionaryHyphen Set this to true if the text should be
- * followed by the hyphenation character.
- * @param hasFauxSmallCaps Set this to true if faux small caps should be
- * applied to this TextArea.
- * If true, all text will be converted to uppercase and a reduced font-size
- * will be applied.
- * @return The newly-created TextArea.
- */
- static TextArea makeTextArea(final FoTextCharacters generatedBy,
- final LineArea4a parentArea,
- final GraftingPoint graftingPoint, final int backingOffset,
- final int backingSize, final int progressionDimensionUsed,
- final boolean hasDiscretionaryHyphen,
- final boolean hasFauxSmallCaps) {
- final TextArea newTextArea = new TextArea(parentArea);
- newTextArea.generatedBy = newTextArea.linkage(generatedBy,
- graftingPoint);
- newTextArea.registerWithLinkage(graftingPoint);
- newTextArea.init(parentArea, backingOffset, backingSize,
- progressionDimensionUsed,
- hasDiscretionaryHyphen, hasFauxSmallCaps);
- return newTextArea;
- }
-
- /**
- * Package-visible factory method.
- * @param generatedBy The FO node generating this area.
- * @param parentArea The parent area.
- * @param graftingPoint The ancestor retrieve-marker, if any, for this
- * area.
- * @param backingOffset The index of the first character in the char array
- * that is the backing for the text in this object.
- * For example, if the text in this TextSegment starts at array element 5
- * and has a size of 14, backingOffset will be 5.
- * @param backingSize The number of char elements in the backing char array
- * that are actually included in this area.
- * For example, if the text in this TextSegment starts at array element 5
- * and has a size of 14, backingSize will be 14.
- * The ending array element that belongs to this TextSegment is computed
- * as backingOffset + backingSize.
- * @param progressionDimensionUsed The size, in millipoints, of the IPD used
- * by this text-area.
- * @param hasDiscretionaryHyphen Set this to true if the text should be
- * followed by the hyphenation character.
- * @param hasFauxSmallCaps Set this to true if faux small caps should be
- * applied to this TextArea.
- * If true, all text will be converted to uppercase and a reduced font-size
- * will be applied.
- * @return The newly-created TextArea.
- */
- static TextArea makeTextArea(final FoTextCharacters generatedBy,
- final AbstractInlineArea parentArea,
- final GraftingPoint graftingPoint, final int backingOffset,
- final int backingSize, final int progressionDimensionUsed,
- final boolean hasDiscretionaryHyphen,
- final boolean hasFauxSmallCaps) {
- final TextArea newTextArea = new TextArea(parentArea);
- newTextArea.generatedBy = newTextArea.linkage(generatedBy,
- graftingPoint);
- newTextArea.registerWithLinkage(graftingPoint);
- newTextArea.init(parentArea, backingOffset, backingSize,
- progressionDimensionUsed,
- hasDiscretionaryHyphen, hasFauxSmallCaps);
- return newTextArea;
- }
-
- /**
- * Initialized the dimensions of this Area.
- * @param parentArea The parent area.
- * @param backingOffset The index of the first character in the char array
- * that is the backing for the text in this object.
- * For example, if the text in this TextSegment starts at array element 5
- * and has a size of 14, backingOffset will be 5.
- * @param backingSize The number of char elements in the backing char array
- * that are actually included in this area.
- * For example, if the text in this TextSegment starts at array element 5
- * and has a size of 14, backingSize will be 14.
- * The ending array element that belongs to this TextSegment is computed
- * as backingOffset + backingSize.
- * @param progressionDimensionUsed The size, in millipoints, of the IPD used
- * by this text-area.
- * @param hasDiscretionaryHyphen Set this to true if the text should be
- * followed by the hyphenation character.
- * @param hasFauxSmallCaps Set this to true if faux small caps should be
- * applied to this TextArea.
- * If true, all text will be converted to uppercase and a reduced font-size
- * will be applied.
- */
- private void init(final Area4a parentArea, final int backingOffset,
- final int backingSize, final int progressionDimensionUsed,
- final boolean hasDiscretionaryHyphen,
- final boolean hasFauxSmallCaps) {
- final FoTextCharacters generatedBy = this.traitGeneratedBy();
- this.charSequence = new TextAreaCharSequence(generatedBy.getAreaTreeText(this),
- backingOffset, backingSize, hasDiscretionaryHyphen, hasFauxSmallCaps);
- this.resolvedLetterSpacing = this.traitLetterSpacingOpt();
- this.resolvedWordSpacing = this.traitWordSpacingOpt();
- final int computedPD = this.recomputeProgressionDimension();
- setProgressionDimension(computedPD);
- this.initializeAnteriorSpace();
- this.ancestorLineArea().lineContentChanged();
- }
-
- /**
* {@inheritDoc}
- * <p>Computes and returns the text that should actually be used in the
- * output document. Note that it may be different from the char array that
- * backs this TextSegment for the following reasons:</p>
- * <ul>
- * <li>The final round of white-space-treatment changes is handled
- * here.
- * <li>Ligature changes and other font-driven character substitutions are
- * handled here.
- * <li>Faux small-caps changes are handled here.
- * <li>Addition of hyphen characters at the end of a line is handled here.
- * </ul>
- *
- * <p>Note that the following text changes occur elsewhere:</p>
- * <ul>
- * <li>Most white-space changes (white-space-treatment, linefeed-treatment,
- * and white-space-collapse for example) are handled in the FOTree.
- * <li>text-transform is handled in the FOTree.</li>
- * </ul>
- *
- * @return The text to be used in the output document.
- */
- @Override
- public CharSequence getText() {
- return this.charSequence;
- }
-
- /**
- * Returns the raw text for this area. This method is used primarily for
- * testing purposes as it just dumps the text out without any final
- * adjustments.
- * @return The raw text from the FO Tree.
- */
- public CharSequence getRawText() {
- return this.charSequence.getRawText();
- }
-
- /**
- * {@inheritDoc}
* Overrides Area because line-areas have no borders or padding. See
* XSL-FO Standard 1.0, Section 4.5.
*/
@@ -545,25 +383,6 @@
}
/**
- * Indicates whether this text-area ends with a linefeed.
- * @return True if and only if this text-area ends with a linefeed.
- */
- public boolean endsWithLinefeed() {
- final CharSequence rawText = this.getRawText();
- if (rawText == null) {
- return false;
- }
- if (rawText.length() < 1) {
- return false;
- }
- final int lastCharIndex = rawText.length() - 1;
- if (rawText.charAt(lastCharIndex) == Basic_Latin_Block.CONTROL_LINE_FEED) {
- return true;
- }
- return false;
- }
-
- /**
* Returns the resolved letter-spacing, in millipoints.
* @return Returns the resolvedLetterSpacing.
*/
@@ -607,7 +426,7 @@
* The following items are <em>not </em>considered: space-start, space-end.
* @return The new progression dimension value, in millipoints.
*/
- private int recomputeProgressionDimension() {
+ int recomputeProgressionDimension() {
final CharSequence text = getText();
final int pd = getPrimaryFont().width(text, 0, text.length(), traitFontSize(), traitLetterSpacingOpt(),
traitWordSpacingOpt(), fontContext(), orthography());
@@ -634,10 +453,14 @@
* Indicates whether this text area has faux small caps.
* @return True if and only if this character sequence has faux small caps.
*/
- private boolean hasFauxSmallCaps() {
- return this.charSequence.hasFauxSmallCaps();
- }
+ abstract boolean hasFauxSmallCaps();
+ /**
+ * Indicates whether this text-area ends with a linefeed.
+ * @return True if and only if this text-area ends with a linefeed.
+ */
+ abstract boolean endsWithLinefeed();
+
@Override
public String getAreaName() {
return "text";
@@ -834,215 +657,4 @@
return traitGeneratedBy().traitColor(this);
}
- /**
- * Specialized {@link CharSequence} implementation representing the textual content of a
- * TextArea.
- */
- private final class TextAreaCharSequence implements CharSequence, Serializable {
-
- /** Constant needed for serialization. */
- public static final long serialVersionUID = 2632541023613463496L;
-
- /** The wrapped sequence. */
- private CharSequence wrappedSequence;
-
- /** The index to the first element in {@link #wrappedSequence} that is considered to be part
- * of this sequence. */
- private int start;
-
- /** The number of chars in {@link #wrappedSequence} that is considered to be part of this
- * sequence. */
- private int length;
-
- /**
- * Set this to true if the text should be followed by the hyphenation
- * character.
- */
- private boolean hasDiscretionaryHyphen = false;
-
- /**
- * Set this to true if faux small caps should be applied to this TextArea.
- * If true, all text will be converted to uppercase and a reduced font-size
- * will be applied.
- */
- private boolean hasFauxSmallCaps = false;
-
- /**
- * Constructor.
- * @param wrappedSequence The encapsulated sequence, a subset of which is the content for
- * this sequence.
- * @param start The index to the first element in {@code wrappedSequence} that is
- * considered to be part of this sequence.
- * @param length The number of chars in {@code wrappedSequence} that is considered to
- * be part of this sequence.
- * @param hasDiscretionaryHyphen Set this to true if the text should be
- * followed by the hyphenation character.
- * @param hasFauxSmallCaps Set this to true if faux small caps should be
- * applied to this TextArea.
- * If true, all text will be converted to uppercase and a reduced font-size
- * will be applied.
- */
- private TextAreaCharSequence(final CharSequence wrappedSequence, final int start,
- final int length, final boolean hasDiscretionaryHyphen,
- final boolean hasFauxSmallCaps) {
- if (start < 0
- || length < 0
- || start + length > wrappedSequence.length()) {
- throw new IndexOutOfBoundsException("Illegal sub-sequence bounds.");
- }
- this.wrappedSequence = wrappedSequence;
- this.start = start;
- this.length = length;
- this.hasDiscretionaryHyphen = hasDiscretionaryHyphen;
- this.hasFauxSmallCaps = hasFauxSmallCaps;
- }
-
- /**
- * Indicates whether this character sequence has faux small caps.
- * @return True if and only if this character sequence has faux small caps.
- */
- public boolean hasFauxSmallCaps() {
- return this.hasFauxSmallCaps;
- }
-
- /**
- * Returns the raw text for this area. This method is used primarily for
- * testing purposes as it just dumps the text out without any final
- * adjustments.
- * @return The raw text from the FO Tree.
- */
- public CharSequence getRawText() {
- return new CharSequenceSubset(this.wrappedSequence, this.start, this.length);
- }
-
- /**
- * Returns the number of characters at the start of the wrapped text that should be ignored.
- * @return The number of characters at the start to be ignored.
- */
- private int ignoreAtStart() {
- return TextArea.ignoreAtStart(this.wrappedSequence, this.start,
- this.length, TextArea.this.isFirstLeafOnLine(),
- TextArea.this.traitWhiteSpaceTreatment());
- }
-
- /**
- * Returns the number of characters at the end of the wrapped text that should be ignored.
- * @return The number of characters at the end to be ignored.
- */
- private int ignoreAtEnd() {
- return TextArea.ignoreAtEnd(this.wrappedSequence, this.start,
- this.length, TextArea.this.isLastLeafOnLine(),
- TextArea.this.traitWhiteSpaceTreatment());
- }
-
- @Override
- public int length() {
- int computedLength = this.getUnhyphenatedLength();
- computedLength += this.hyphenSize();
- return computedLength;
- }
-
- /**
- * Computes the number of characters in this sequence before adding the length of any
- * discretionary hyphens.
- * @return The number of characters in this sequence before considering hyphenation.
- */
- public int getUnhyphenatedLength() {
- int computedLength = this.length;
- computedLength -= this.ignoreAtStart();
- computedLength -= this.ignoreAtEnd();
- return computedLength;
- }
-
- /**
- * {@inheritDoc}
- * Overrides method in {@link Object} to properly conform to the {@link CharSequence}
- * interface.
- */
- @Override
- public String toString() {
- final int length = this.length();
- final char[] newChars = new char[length];
- for (int i = 0; i < length; i++) {
- newChars[i] = this.charAt(i);
- }
- return new String(newChars);
- }
-
- @Override
- public CharSequence subSequence(final int start, final int end) {
- if (start < 0
- || end < 0
- || end > length()
- || start > end) {
- throw new IndexOutOfBoundsException("Illegal sub-sequence bounds.");
- }
- final int subSize = end - start;
- return new CharSequenceSubset(this, start, subSize);
- }
-
- /**
- * {@inheritDoc}
- * <p>Uses the wrapped sequence as a starting place, and adjusts the return value for the
- * specialized aspects of this class, specifically:</p>
- * <ul>
- * <li>The final round of white-space-treatment changes is handled
- * here.
- * <li>Ligature changes and other font-driven character substitutions are
- * handled here.
- * <li>Faux small-caps changes are handled here.
- * <li>Addition of hyphen characters at the end of a line is handled here.
- * </ul>
- *
- * @return The text to be used in the output document.
- */
- @Override
- public char charAt(final int index) {
- if (index < 0) {
- throw new IndexOutOfBoundsException("Index out of bounds: " + index);
- }
- final int ourIndex = index + this.start + this.ignoreAtStart();
- final int ourEnd = this.start + this.length - this.ignoreAtEnd();
- if (ourIndex < ourEnd) {
- final char c = this.wrappedSequence.charAt(ourIndex);
- /* Apply faux small-caps, if appropriate. */
- if (this.hasFauxSmallCaps) {
- return java.lang.Character.toUpperCase(c);
- } else {
- return c;
- }
- }
-
- /* If it extends beyond the wrapped text, it could be asking for the hyphen. */
- final int hyphenSize = this.hyphenSize();
- if (ourIndex < ourEnd + hyphenSize) {
- /* This assumes (properly for now) that the hyphen character can never be more than
- * two chars long. */
- if (hyphenSize == 1) {
- return (char) TextArea.this.traitHyphenationCharacter();
- } else {
- final int hyphenIndex = ourIndex - ourEnd;
- /* TODO: This is a bit ugly. Is there a better way? */
- final int hyphenChar = TextArea.this.traitHyphenationCharacter();
- final String hyphenString = new String(new int[] {hyphenChar}, 0, 1);
- return hyphenString.charAt(hyphenIndex);
- }
- }
- throw new IndexOutOfBoundsException("Index out of bounds: " + index);
- }
-
- /**
- * Returns the number of chars needed to represent the hyphen character, if any.
- * @return The number of chars needed to represent the hyphen character.
- */
- private int hyphenSize() {
- if (! this.hasDiscretionaryHyphen) {
- return 0;
- }
- final int hyphenChar = TextArea.this.traitHyphenationCharacter();
- return Character.charCount(hyphenChar);
- }
-
- }
-
}
Added: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java (rev 0)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java 2021-12-16 16:48:02 UTC (rev 12232)
@@ -0,0 +1,443 @@
+/*
+ * Copyright 2021 The FOray Project.
+ * http://www.foray.org
+ *
+ * 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.
+ *
+ * This work is in part derived from the following work(s), used with the
+ * permission of the licensor:
+ * Apache FOP, licensed by the Apache Software Foundation
+ *
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.foray.area;
+
+import org.foray.common.CharSequenceSubset;
+
+import org.axsl.fotree.fo.FoTextCharacters;
+import org.axsl.fotree.fo.GraftingPoint;
+import org.axsl.unicode.block.Basic_Latin_Block;
+
+import java.io.Serializable;
+
+public final class TextAreaCharacters extends TextArea {
+
+ /** The resolved textual content of this text area. */
+ private TextAreaCharSequence charSequence;
+
+ /**
+ * Private constructor.
+ * @param parentArea The parent area.
+ * @param generatedBy The FO tree linkage.
+ */
+ private TextAreaCharacters(final LineArea4a parentArea, final FoLinkage generatedBy) {
+ super(parentArea, generatedBy);
+ }
+
+ /**
+ * Private constructor.
+ * @param parentArea The parent area.
+ * @param generatedBy The FO tree linkage.
+ */
+ private TextAreaCharacters(final AbstractInlineArea parentArea, final FoLinkage generatedBy) {
+ super(parentArea, generatedBy);
+ }
+
+ /**
+ * Package-visible factory method.
+ * @param generatedBy The FO node generating this area.
+ * @param parentArea The parent area.
+ * @param graftingPoint The ancestor retrieve-marker, if any, for this area.
+ * @param backingOffset The index of the first character in the char array that is the backing for the text in this
+ * object.
+ * For example, if the text in this TextSegment starts at array element 5 and has a size of 14, backingOffset will
+ * be 5.
+ * @param backingSize The number of char elements in the backing char array that are actually included in this area.
+ * For example, if the text in this TextSegment starts at array element 5 and has a size of 14, backingSize will be
+ * 14.
+ * The ending array element that belongs to this TextSegment is computed as backingOffset + backingSize.
+ * @param progressionDimensionUsed The size, in millipoints, of the IPD used by this text-area.
+ * @param hasDiscretionaryHyphen Set this to true if the text should be followed by the hyphenation character.
+ * @param hasFauxSmallCaps Set this to true if faux small caps should be applied to this TextArea.
+ * If true, all text will be converted to uppercase and a reduced font-size will be applied.
+ * @return The newly-created TextArea.
+ */
+ static TextArea makeTextArea(final FoTextCharacters generatedBy,
+ final LineArea4a parentArea,
+ final GraftingPoint graftingPoint, final int backingOffset,
+ final int backingSize, final int progressionDimensionUsed,
+ final boolean hasDiscretionaryHyphen,
+ final boolean hasFauxSmallCaps) {
+ final FoLinkage linkage = parentArea.linkage(generatedBy, graftingPoint);
+ final TextAreaCharacters newTextArea = new TextAreaCharacters(parentArea, linkage);
+ newTextArea.registerWithLinkage(graftingPoint);
+ newTextArea.init(parentArea, backingOffset, backingSize,
+ progressionDimensionUsed,
+ hasDiscretionaryHyphen, hasFauxSmallCaps);
+ return newTextArea;
+ }
+
+ /**
+ * Package-visible factory method.
+ * @param generatedBy The FO node generating this area.
+ * @param parentArea The parent area.
+ * @param graftingPoint The ancestor retrieve-marker, if any, for this
+ * area.
+ * @param backingOffset The index of the first character in the char array
+ * that is the backing for the text in this object.
+ * For example, if the text in this TextSegment starts at array element 5
+ * and has a size of 14, backingOffset will be 5.
+ * @param backingSize The number of char elements in the backing char array
+ * that are actually included in this area.
+ * For example, if the text in this TextSegment starts at array element 5
+ * and has a size of 14, backingSize will be 14.
+ * The ending array element that belongs to this TextSegment is computed
+ * as backingOffset + backingSize.
+ * @param progressionDimensionUsed The size, in millipoints, of the IPD used
+ * by this text-area.
+ * @param hasDiscretionaryHyphen Set this to true if the text should be
+ * followed by the hyphenation character.
+ * @param hasFauxSmallCaps Set this to true if faux small caps should be
+ * applied to this TextArea.
+ * If true, all text will be converted to uppercase and a reduced font-size
+ * will be applied.
+ * @return The newly-created TextArea.
+ */
+ static TextArea makeTextArea(final FoTextCharacters generatedBy,
+ final AbstractInlineArea parentArea,
+ final GraftingPoint graftingPoint, final int backingOffset,
+ final int backingSize, final int progressionDimensionUsed,
+ final boolean hasDiscretionaryHyphen,
+ final boolean hasFauxSmallCaps) {
+ final FoLinkage linkage = parentArea.linkage(generatedBy, graftingPoint);
+ final TextAreaCharacters newTextArea = new TextAreaCharacters(parentArea, linkage);
+ newTextArea.registerWithLinkage(graftingPoint);
+ newTextArea.init(parentArea, backingOffset, backingSize, progressionDimensionUsed, hasDiscretionaryHyphen,
+ hasFauxSmallCaps);
+ return newTextArea;
+ }
+
+ /**
+ * Initialized the dimensions of this Area.
+ * @param parentArea The parent area.
+ * @param backingOffset The index of the first character in the char array
+ * that is the backing for the text in this object.
+ * For example, if the text in this TextSegment starts at array element 5
+ * and has a size of 14, backingOffset will be 5.
+ * @param backingSize The number of char elements in the backing char array
+ * that are actually included in this area.
+ * For example, if the text in this TextSegment starts at array element 5
+ * and has a size of 14, backingSize will be 14.
+ * The ending array element that belongs to this TextSegment is computed
+ * as backingOffset + backingSize.
+ * @param progressionDimensionUsed The size, in millipoints, of the IPD used
+ * by this text-area.
+ * @param hasDiscretionaryHyphen Set this to true if the text should be
+ * followed by the hyphenation character.
+ * @param hasFauxSmallCaps Set this to true if faux small caps should be
+ * applied to this TextArea.
+ * If true, all text will be converted to uppercase and a reduced font-size
+ * will be applied.
+ */
+ private void init(final Area4a parentArea, final int backingOffset,
+ final int backingSize, final int progressionDimensionUsed,
+ final boolean hasDiscretionaryHyphen,
+ final boolean hasFauxSmallCaps) {
+ final FoTextCharacters generatedBy = this.traitGeneratedBy();
+ this.charSequence = new TextAreaCharSequence(generatedBy.getAreaTreeText(this),
+ backingOffset, backingSize, hasDiscretionaryHyphen, hasFauxSmallCaps);
+ setResolvedLetterSpacing(traitLetterSpacingOpt());
+ setResolvedWordSpacing(traitWordSpacingOpt());
+ final int computedPD = this.recomputeProgressionDimension();
+ setProgressionDimension(computedPD);
+ this.initializeAnteriorSpace();
+ this.ancestorLineArea().lineContentChanged();
+ }
+
+ @Override
+ boolean hasFauxSmallCaps() {
+ return this.charSequence.hasFauxSmallCaps();
+ }
+
+ /**
+ * {@inheritDoc}
+ * <p>Computes and returns the text that should actually be used in the
+ * output document. Note that it may be different from the char array that
+ * backs this TextSegment for the following reasons:</p>
+ * <ul>
+ * <li>The final round of white-space-treatment changes is handled
+ * here.
+ * <li>Ligature changes and other font-driven character substitutions are
+ * handled here.
+ * <li>Faux small-caps changes are handled here.
+ * <li>Addition of hyphen characters at the end of a line is handled here.
+ * </ul>
+ *
+ * <p>Note that the following text changes occur elsewhere:</p>
+ * <ul>
+ * <li>Most white-space changes (white-space-treatment, linefeed-treatment,
+ * and white-space-collapse for example) are handled in the FOTree.
+ * <li>text-transform is handled in the FOTree.</li>
+ * </ul>
+ *
+ * @return The text to be used in the output document.
+ */
+ @Override
+ public CharSequence getText() {
+ return this.charSequence;
+ }
+
+ /**
+ * Returns the raw text for this area. This method is used primarily for
+ * testing purposes as it just dumps the text out without any final
+ * adjustments.
+ * @return The raw text from the FO Tree.
+ */
+ public CharSequence getRawText() {
+ return this.charSequence.getRawText();
+ }
+
+ @Override
+ public boolean endsWithLinefeed() {
+ final CharSequence rawText = this.getRawText();
+ if (rawText == null) {
+ return false;
+ }
+ if (rawText.length() < 1) {
+ return false;
+ }
+ final int lastCharIndex = rawText.length() - 1;
+ if (rawText.charAt(lastCharIndex) == Basic_Latin_Block.CONTROL_LINE_FEED) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Specialized {@link CharSequence} implementation representing the textual content of a
+ * TextArea.
+ */
+ private final class TextAreaCharSequence implements CharSequence, Serializable {
+
+ /** Constant needed for serialization. */
+ public static final long serialVersionUID = 2632541023613463496L;
+
+ /** The wrapped sequence. */
+ private CharSequence wrappedSequence;
+
+ /** The index to the first element in {@link #wrappedSequence} that is considered to be part
+ * of this sequence. */
+ private int start;
+
+ /** The number of chars in {@link #wrappedSequence} that is considered to be part of this
+ * sequence. */
+ private int length;
+
+ /**
+ * Set this to true if the text should be followed by the hyphenation
+ * character.
+ */
+ private boolean hasDiscretionaryHyphen = false;
+
+ /**
+ * Set this to true if faux small caps should be applied to this TextArea.
+ * If true, all text will be converted to uppercase and a reduced font-size
+ * will be applied.
+ */
+ private boolean hasFauxSmallCaps = false;
+
+ /**
+ * Constructor.
+ * @param wrappedSequence The encapsulated sequence, a subset of which is the content for
+ * this sequence.
+ * @param start The index to the first element in {@code wrappedSequence} that is
+ * considered to be part of this sequence.
+ * @param length The number of chars in {@code wrappedSequence} that is considered to
+ * be part of this sequence.
+ * @param hasDiscretionaryHyphen Set this to true if the text should be
+ * followed by the hyphenation character.
+ * @param hasFauxSmallCaps Set this to true if faux small caps should be
+ * applied to this TextArea.
+ * If true, all text will be converted to uppercase and a reduced font-size
+ * will be applied.
+ */
+ private TextAreaCharSequence(final CharSequence wrappedSequence, final int start,
+ final int length, final boolean hasDiscretionaryHyphen,
+ final boolean hasFauxSmallCaps) {
+ if (start < 0
+ || length < 0
+ || start + length > wrappedSequence.length()) {
+ throw new IndexOutOfBoundsException("Illegal sub-sequence bounds.");
+ }
+ this.wrappedSequence = wrappedSequence;
+ this.start = start;
+ this.length = length;
+ this.hasDiscretionaryHyphen = hasDiscretionaryHyphen;
+ this.hasFauxSmallCaps = hasFauxSmallCaps;
+ }
+
+ /**
+ * Indicates whether this character sequence has faux small caps.
+ * @return True if and only if this character sequence has faux small caps.
+ */
+ public boolean hasFauxSmallCaps() {
+ return this.hasFauxSmallCaps;
+ }
+
+ /**
+ * Returns the raw text for this area. This method is used primarily for
+ * testing purposes as it just dumps the text out without any final
+ * adjustments.
+ * @return The raw text from the FO Tree.
+ */
+ public CharSequence getRawText() {
+ return new CharSequenceSubset(this.wrappedSequence, this.start, this.length);
+ }
+
+ /**
+ * Returns the number of characters at the start of the wrapped text that should be ignored.
+ * @return The number of characters at the start to be ignored.
+ */
+ private int ignoreAtStart() {
+ return TextArea.ignoreAtStart(this.wrappedSequence, this.start,
+ this.length, TextAreaCharacters.this.isFirstLeafOnLine(),
+ TextAreaCharacters.this.traitWhiteSpaceTreatment());
+ }
+
+ /**
+ * Returns the number of characters at the end of the wrapped text that should be ignored.
+ * @return The number of characters at the end to be ignored.
+ */
+ private int ignoreAtEnd() {
+ return TextArea.ignoreAtEnd(this.wrappedSequence, this.start,
+ this.length, TextAreaCharacters.this.isLastLeafOnLine(),
+ TextAreaCharacters.this.traitWhiteSpaceTreatment());
+ }
+
+ @Override
+ public int length() {
+ int computedLength = this.getUnhyphenatedLength();
+ computedLength += this.hyphenSize();
+ return computedLength;
+ }
+
+ /**
+ * Computes the number of characters in this sequence before adding the length of any
+ * discretionary hyphens.
+ * @return The number of characters in this sequence before considering hyphenation.
+ */
+ public int getUnhyphenatedLength() {
+ int computedLength = this.length;
+ computedLength -= this.ignoreAtStart();
+ computedLength -= this.ignoreAtEnd();
+ return computedLength;
+ }
+
+ /**
+ * {@inheritDoc}
+ * Overrides method in {@link Object} to properly conform to the {@link CharSequence}
+ * interface.
+ */
+ @Override
+ public String toString() {
+ final int length = this.length();
+ final char[] newChars = new char[length];
+ for (int i = 0; i < length; i++) {
+ newChars[i] = this.charAt(i);
+ }
+ return new String(newChars);
+ }
+
+ @Override
+ public CharSequence subSequence(final int start, final int end) {
+ if (start < 0
+ || end < 0
+ || end > length()
+ || start > end) {
+ throw new IndexOutOfBoundsException("Illegal sub-sequence bounds.");
+ }
+ final int subSize = end - start;
+ return new CharSequenceSubset(this, start, subSize);
+ }
+
+ /**
+ * {@inheritDoc}
+ * <p>Uses the wrapped sequence as a starting place, and adjusts the return value for the
+ * specialized aspects of this class, specifically:</p>
+ * <ul>
+ * <li>The final round of white-space-treatment changes is handled
+ * here.
+ * <li>Ligature changes and other font-driven character substitutions are
+ * handled here.
+ * <li>Faux small-caps changes are handled here.
+ * <li>Addition of hyphen characters at the end of a line is handled here.
+ * </ul>
+ *
+ * @return The text to be used in the output document.
+ */
+ @Override
+ public char charAt(final int index) {
+ if (index < 0) {
+ throw new IndexOutOfBoundsException("Index out of bounds: " + index);
+ }
+ final int ourIndex = index + this.start + this.ignoreAtStart();
+ final int ourEnd = this.start + this.length - this.ignoreAtEnd();
+ if (ourIndex < ourEnd) {
+ final char c = this.wrappedSequence.charAt(ourIndex);
+ /* Apply faux small-caps, if appropriate. */
+ if (this.hasFauxSmallCaps) {
+ return java.lang.Character.toUpperCase(c);
+ } else {
+ return c;
+ }
+ }
+
+ /* If it extends beyond the wrapped text, it could be asking for the hyphen. */
+ final int hyphenSize = this.hyphenSize();
+ if (ourIndex < ourEnd + hyphenSize) {
+ /* This assumes (properly for now) that the hyphen character can never be more than
+ * two chars long. */
+ if (hyphenSize == 1) {
+ return (char) TextAreaCharacters.this.traitHyphenationCharacter();
+ } else {
+ final int hyphenIndex = ourIndex - ourEnd;
+ /* TODO: This is a bit ugly. Is there a better way? */
+ final int hyphenChar = TextAreaCharacters.this.traitHyphenationCharacter();
+ final String hyphenString = new String(new int[] {hyphenChar}, 0, 1);
+ return hyphenString.charAt(hyphenIndex);
+ }
+ }
+ throw new IndexOutOfBoundsException("Index out of bounds: " + index);
+ }
+
+ /**
+ * Returns the number of chars needed to represent the hyphen character, if any.
+ * @return The number of chars needed to represent the hyphen character.
+ */
+ private int hyphenSize() {
+ if (! this.hasDiscretionaryHyphen) {
+ return 0;
+ }
+ final int hyphenChar = TextAreaCharacters.this.traitHyphenationCharacter();
+ return Character.charCount(hyphenChar);
+ }
+
+ }
+
+}
Property changes on: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaCharacters.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Added: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java (rev 0)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java 2021-12-16 16:48:02 UTC (rev 12232)
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2021 The FOray Project.
+ * http://www.foray.org
+ *
+ * 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.
+ *
+ * This work is in part derived from the following work(s), used with the
+ * permission of the licensor:
+ * Apache FOP, licensed by the Apache Software Foundation
+ *
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.foray.area;
+
+public class TextAreaWords extends TextArea {
+
+ /**
+ * Constructor.
+ * @param parentArea The parent area.
+ * @param generatedBy The FO tree linkage.
+ */
+ public TextAreaWords(final LineArea4a parentArea, final FoLinkage generatedBy) {
+ super(parentArea, generatedBy);
+ }
+
+ /**
+ * Constructor.
+ * @param parentArea The parent area.
+ * @param generatedBy The FO tree linkage.
+ */
+ private TextAreaWords(final AbstractInlineArea parentArea, final FoLinkage generatedBy) {
+ super(parentArea, generatedBy);
+ }
+
+ @Override
+ public CharSequence getText() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ boolean hasFauxSmallCaps() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ boolean endsWithLinefeed() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
Property changes on: trunk/foray/foray-areatree/src/main/java/org/foray/area/TextAreaWords.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-16 15:42:07
|
Revision: 12231
http://sourceforge.net/p/foray/code/12231
Author: victormote
Date: 2021-12-16 15:42:04 +0000 (Thu, 16 Dec 2021)
Log Message:
-----------
Conform to aXSL change: Add method to create text content from FoTextWords.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractAncestralInlineArea.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractAncestralInlineArea.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractAncestralInlineArea.java 2021-12-16 14:17:44 UTC (rev 12230)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/AbstractAncestralInlineArea.java 2021-12-16 15:42:04 UTC (rev 12231)
@@ -31,11 +31,13 @@
import org.foray.common.FontContext4a;
import org.axsl.area.AreaTreeException;
+import org.axsl.area.GlyphAreaSequence;
import org.axsl.font.FontContext;
import org.axsl.fotree.fo.BasicLink;
import org.axsl.fotree.fo.BidiOverride;
import org.axsl.fotree.fo.ExternalGraphic;
import org.axsl.fotree.fo.FoTextCharacters;
+import org.axsl.fotree.fo.FoTextWords;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.fotree.fo.IndexPageCitationList;
import org.axsl.fotree.fo.Inline;
@@ -94,6 +96,12 @@
}
@Override
+ public GlyphAreaSequence makeGlyphAreaSequence(final FoTextWords paragraph, final int startLeaf,
+ final int sizeInLeaves, final boolean hasFauxSmallCaps, final GraftingPoint graftingPoint) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public ExternalGraphicArea makeExternalGraphicArea(
final ExternalGraphic ifo, final int ipd,
final GraftingPoint graftingPoint) {
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-16 14:17:44 UTC (rev 12230)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/LineArea4a.java 2021-12-16 15:42:04 UTC (rev 12231)
@@ -31,6 +31,7 @@
import org.foray.common.data.OrderedTreeNode;
import org.axsl.area.AreaTreeException;
+import org.axsl.area.GlyphAreaSequence;
import org.axsl.area.LineArea;
import org.axsl.common.value.Conditionality;
import org.axsl.common.value.LineStackingStrategy;
@@ -47,6 +48,7 @@
import org.axsl.fotree.fo.BidiOverride;
import org.axsl.fotree.fo.ExternalGraphic;
import org.axsl.fotree.fo.FoTextCharacters;
+import org.axsl.fotree.fo.FoTextWords;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.fotree.fo.IndexPageCitationList;
import org.axsl.fotree.fo.Inline;
@@ -1020,6 +1022,12 @@
}
@Override
+ public GlyphAreaSequence makeGlyphAreaSequence(final FoTextWords paragraph, final int startLeaf,
+ final int sizeInLeaves, final boolean hasFauxSmallCaps, final GraftingPoint graftingPoint) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public ExternalGraphicArea makeExternalGraphicArea(
final ExternalGraphic ifo, final int ipd,
final GraftingPoint graftingPoint) {
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2021-12-16 14:17:44 UTC (rev 12230)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2021-12-16 15:42:04 UTC (rev 12231)
@@ -30,8 +30,14 @@
import org.axsl.area.AreaNode;
import org.axsl.area.AreaTreeException;
+import org.axsl.area.LineArea;
+import org.axsl.area.NormalBlockArea;
+import org.axsl.common.para.ParaControl;
import org.axsl.fotree.fo.FoTextWords;
import org.axsl.fotree.fo.GraftingPoint;
+import org.axsl.linebreak.LineBreakControl;
+import org.axsl.linebreak.LineBreakResult;
+import org.axsl.linebreak.LineBreaker;
/**
* Pioneer Layout for {@link FoTextWords}.
@@ -56,7 +62,35 @@
if (getProgress() == FoNodePnr.START) {
setProgress(0);
}
- throw new UnsupportedOperationException();
+
+ if (! (areaNode instanceof ParaControl)) {
+ throw new IllegalArgumentException("AreaNode must be an instance of ParaControl");
+ }
+ final ParaControl paraControl = (ParaControl) areaNode;
+
+ if (! (areaNode instanceof LineBreakControl)) {
+ throw new IllegalArgumentException("AreaNode must be an instance of LineBreakControl");
+ }
+ final LineBreakControl lbControl = (LineBreakControl) areaNode;
+
+ if (! (areaNode instanceof NormalBlockArea)) {
+ throw new IllegalArgumentException("AreaNode must be an instance of NormalBlockArea");
+ }
+ final NormalBlockArea normalBlockArea = (NormalBlockArea) areaNode;
+
+ final LineBreaker lb = areaNode.getAreaTree().getLineBreaker();
+ final LineBreakResult result = lb.breakIntoLines(this.node, paraControl, lbControl);
+
+ int lastLeafIndex = 0;
+ for (int index = 0; index < result.getQtyLines(); index ++) {
+ final int currentLeafIndex = result.getBreakPosition(index);
+ final LineArea lineArea = normalBlockArea.makeLineArea(true);
+ lineArea.makeGlyphAreaSequence(this.node, lastLeafIndex, currentLeafIndex - lastLeafIndex, false,
+ graftingPoint);
+ lastLeafIndex = currentLeafIndex;
+ }
+
+ throw new UnsupportedOperationException(result.toString());
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-16 14:17:47
|
Revision: 12230
http://sourceforge.net/p/foray/code/12230
Author: victormote
Date: 2021-12-16 14:17:44 +0000 (Thu, 16 Dec 2021)
Log Message:
-----------
Add implementation of FoTextWords.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java 2021-12-16 13:56:36 UTC (rev 12229)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java 2021-12-16 14:17:44 UTC (rev 12230)
@@ -33,6 +33,8 @@
import org.foray.fotree.FoObj;
import org.axsl.common.para.ParaBranch;
+import org.axsl.common.para.ParaConfig;
+import org.axsl.common.para.ParaLeaf;
import org.axsl.common.para.ParaNode;
import org.axsl.common.value.LinefeedTreatment;
import org.axsl.common.value.TextTransform;
@@ -39,6 +41,7 @@
import org.axsl.common.value.WhiteSpaceTreatment;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.ProxyFactory;
+import org.axsl.fotree.fo.FoTextWords;
import org.axsl.orthography.Orthography;
import org.axsl.orthography.OrthographyException;
import org.axsl.orthography.OrthographyServer;
@@ -45,11 +48,12 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.ListIterator;
/**
* Text in an FO document that is already broken into words.
*/
-public class FoTextWords4a extends AbstractCharacterSequence {
+public class FoTextWords4a extends AbstractCharacterSequence implements FoTextWords {
/** The parent of this node. */
private FoObj parent;
@@ -57,6 +61,9 @@
/** The parsed words. */
private List<FoWordSequenceContent> content;
+ /** The parsed words. */
+ private ParaBranch paraBranch;
+
/**
* Constructor.
* @param parent The FoObj parent of this text.
@@ -68,14 +75,13 @@
this.parent = parent;
final OrthographyServer orthographyServer = getOrthographyServer();
final Orthography orthography = orthographyServer.getOrthography(getWritingSystem());
- final ParaBranch wordSequence =
- orthography.tokenizeWordSequence(ParaBranch4a.getFactory(), content, 0, content.length());
- final ParaConfig4a config = new ParaConfig4a(getPrimaryFont(null), inlineFontSize(), inlineOrthography(),
+ this.paraBranch = orthography.tokenizeWordSequence(ParaBranch4a.getFactory(), content, 0, content.length());
+ final ParaConfig4a config = new ParaConfig4a(getPrimaryFont(null), parent.traitFontSize(null), orthography,
parent.traitWordSpacingMax(null), parent.traitWordSpacingMin(null));
- wordSequence.setParaConfig(config);
- this.content = new ArrayList<FoWordSequenceContent>(wordSequence.paraNodeSize());
- for (int index = 0; index < wordSequence.paraNodeSize(); index ++) {
- final ParaNode wordSequenceContent = wordSequence.paraNodeAt(index);
+ this.paraBranch.setParaConfig(config);
+ this.content = new ArrayList<FoWordSequenceContent>(this.paraBranch.paraNodeSize());
+ for (int index = 0; index < this.paraBranch.paraNodeSize(); index ++) {
+ final ParaNode wordSequenceContent = this.paraBranch.paraNodeAt(index);
final FoWordSequenceContent contentElement = FoWordSequenceContent.create(wordSequenceContent);
this.content.add(contentElement);
}
@@ -87,6 +93,71 @@
}
@Override
+ public int paraNodeSize() {
+ return this.paraBranch.paraNodeSize();
+ }
+
+ @Override
+ public ParaNode paraNodeAt(final int nodeIndex) {
+ return this.paraBranch.paraNodeAt(nodeIndex);
+ }
+
+ @Override
+ public void addNode(final ParaNode node) {
+ this.paraBranch.addNode(node);
+ }
+
+ @Override
+ public int paraLeafSize() {
+ return this.paraBranch.paraLeafSize();
+ }
+
+ @Override
+ public ParaLeaf paraLeafAt(final int leafIndex) {
+ return this.paraBranch.paraLeafAt(leafIndex);
+ }
+
+ @Override
+ public ListIterator<ParaLeaf> leafIterator() {
+ return this.paraBranch.leafIterator();
+ }
+
+ @Override
+ public ParaConfig getParaConfig() {
+ return this.paraBranch.getParaConfig();
+ }
+
+ @Override
+ public void setParaConfig(final ParaConfig config) {
+ this.paraBranch.setParaConfig(config);
+ }
+
+ @Override
+ public Type getParaNodeType() {
+ return this.paraBranch.getParaNodeType();
+ }
+
+ @Override
+ public ParaLeaf asParaLeaf() {
+ return this.paraBranch.asParaLeaf();
+ }
+
+ @Override
+ public ParaBranch asParaBranch() {
+ return this.paraBranch.asParaBranch();
+ }
+
+ @Override
+ public int paraKpLeafSize() {
+ return this.paraBranch.paraKpLeafSize();
+ }
+
+ @Override
+ public CharSequence getText() {
+ return this.paraBranch.getText();
+ }
+
+ @Override
public CharSequence getAreaTreeText(final FoContext context) {
final FoObj effectiveParent = this.effectiveParent(context);
final WhiteSpaceTreatment whiteSpaceTreatment = effectiveParent.traitWhiteSpaceTreatment(context);
@@ -122,26 +193,6 @@
}
@Override
- public boolean canHaveMarkerChildren() {
- return false;
- }
-
- @Override
- public boolean canHavePcdataChildren() {
- return false;
- }
-
- @Override
- public boolean canHaveInlineChildren() {
- return false;
- }
-
- @Override
- public boolean canHaveBlockChildren() {
- return false;
- }
-
- @Override
public int length() {
int totalLength = 0;
for (int index = 0; index < this.content.size(); index ++) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-16 13:56:37
|
Revision: 12229
http://sourceforge.net/p/foray/code/12229
Author: victormote
Date: 2021-12-16 13:56:36 +0000 (Thu, 16 Dec 2021)
Log Message:
-----------
Handle text for BookmarkTitle specially for now.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoTreeParser4a.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoTreeParser4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoTreeParser4a.java 2021-12-16 13:17:59 UTC (rev 12228)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/FoTreeParser4a.java 2021-12-16 13:56:36 UTC (rev 12229)
@@ -30,6 +30,7 @@
import org.foray.common.primitive.StringUtils;
import org.foray.common.xml.SaxParser;
+import org.foray.fotree.fo.obj.BookmarkTitle4a;
import org.foray.fotree.fo.obj.FoTextCharacters4a;
import org.foray.fotree.fo.obj.FoTextWords4a;
import org.foray.fotree.fo.obj.PageSequence4a;
@@ -207,26 +208,33 @@
}
}
- switch (this.textStrategy) {
- case WORD: {
- final FoTextWords4a wordSequence;
- try {
- wordSequence = new FoTextWords4a(this.currentFObj, this.textBuffer);
- } catch (final OrthographyException e) {
- this.errorMessage(e.getMessage());
- throw new SAXException(e);
- }
- this.currentFObj.addChild(wordSequence);
- break;
- }
- case CHARACTER: {
+ if (this.currentFObj instanceof BookmarkTitle4a) {
final char[] charArray = this.textBuffer.toString().toCharArray();
final FoTextCharacters4a ft = new FoTextCharacters4a(this.currentFObj, charArray);
this.currentFObj.addChild(ft);
- break;
+ } else {
+ switch (this.textStrategy) {
+ case WORD: {
+ final FoTextWords4a wordSequence;
+ try {
+ wordSequence = new FoTextWords4a(this.currentFObj, this.textBuffer);
+ } catch (final OrthographyException e) {
+ this.errorMessage(e.getMessage());
+ throw new SAXException(e);
+ }
+ this.currentFObj.addChild(wordSequence);
+ break;
+ }
+ case CHARACTER: {
+ final char[] charArray = this.textBuffer.toString().toCharArray();
+ final FoTextCharacters4a ft = new FoTextCharacters4a(this.currentFObj, charArray);
+ this.currentFObj.addChild(ft);
+ break;
+ }
+ default: throw new IllegalArgumentException("Unrecognized text storage strategy. ");
+ }
}
- default: throw new IllegalArgumentException("Unrecognized text storage strategy. ");
- }
+
this.textBuffer.setLength(0);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2021-12-16 13:18:01
|
Revision: 12228
http://sourceforge.net/p/foray/code/12228
Author: victormote
Date: 2021-12-16 13:17:59 +0000 (Thu, 16 Dec 2021)
Log Message:
-----------
1. Conform to aXSL change: Add method to create proxy for FoTextWords. 2. Rough-in a layout for FoTextWords.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractCharacterSequence.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextCharacters4a.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java
Added Paths:
-----------
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractCharacterSequence.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractCharacterSequence.java 2021-12-16 12:54:36 UTC (rev 12227)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/AbstractCharacterSequence.java 2021-12-16 13:17:59 UTC (rev 12228)
@@ -38,7 +38,6 @@
import org.axsl.font.FontServer;
import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
-import org.axsl.fotree.ProxyFactory;
import org.axsl.fotree.fo.FoTextCharacters;
import org.axsl.fotree.fo.GraftingPoint;
import org.axsl.orthography.Orthography;
@@ -271,11 +270,6 @@
}
@Override
- public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
- return factory.makeProxy(this);
- }
-
- @Override
public org.axsl.fotree.FoLineText getContextWrapper(final FoContext context) {
final org.axsl.fotree.fo.Marker marker = this.ancestorMarker();
if (marker == null) {
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextCharacters4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextCharacters4a.java 2021-12-16 12:54:36 UTC (rev 12227)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextCharacters4a.java 2021-12-16 13:17:59 UTC (rev 12228)
@@ -32,6 +32,7 @@
import org.axsl.common.value.TextTransform;
import org.axsl.fotree.FoContext;
+import org.axsl.fotree.ProxyFactory;
import org.axsl.fotree.fo.Marker;
/**
@@ -470,4 +471,9 @@
return this.ca.subSequence(start, end);
}
+ @Override
+ public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
+ return factory.makeProxy(this);
+ }
+
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java 2021-12-16 12:54:36 UTC (rev 12227)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/obj/FoTextWords4a.java 2021-12-16 13:17:59 UTC (rev 12228)
@@ -38,6 +38,7 @@
import org.axsl.common.value.TextTransform;
import org.axsl.common.value.WhiteSpaceTreatment;
import org.axsl.fotree.FoContext;
+import org.axsl.fotree.ProxyFactory;
import org.axsl.orthography.Orthography;
import org.axsl.orthography.OrthographyException;
import org.axsl.orthography.OrthographyServer;
@@ -178,4 +179,9 @@
return builder.toString();
}
+ @Override
+ public <T> T acceptProxyFactory(final ProxyFactory<T> factory) {
+ return factory.makeProxy((AbstractCharacterSequence) this);
+ }
+
}
Added: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java (rev 0)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2021-12-16 13:17:59 UTC (rev 12228)
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2021 The FOray Project.
+ * http://www.foray.org
+ *
+ * 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.
+ *
+ * This work is in part derived from the following work(s), used with the
+ * permission of the licensor:
+ * Apache FOP, licensed by the Apache Software Foundation
+ *
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.foray.pioneer;
+
+import org.axsl.area.AreaNode;
+import org.axsl.area.AreaTreeException;
+import org.axsl.fotree.fo.FoTextWords;
+import org.axsl.fotree.fo.GraftingPoint;
+
+/**
+ * Pioneer Layout for {@link FoTextWords}.
+ */
+public class FoTextWordsPnr extends FoNodePnr {
+
+ /** The real FONode which this proxy represents. */
+ private FoTextWords node;
+
+ /**
+ * Constructor.
+ * @param words The FO Tree object which is being laid out.
+ * @param layout The ancestor layout system.
+ */
+ public FoTextWordsPnr(final FoTextWords words, final PioneerLayoutStrategy layout) {
+ super(words, layout);
+ this.node = words;
+ }
+
+ @Override
+ public Status layout(final AreaNode areaNode, final GraftingPoint graftingPoint) throws AreaTreeException {
+ if (getProgress() == FoNodePnr.START) {
+ setProgress(0);
+ }
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public FoTextWords getFONode() {
+ return this.node;
+ }
+
+}
Property changes on: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java 2021-12-16 12:54:36 UTC (rev 12227)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java 2021-12-16 13:17:59 UTC (rev 12228)
@@ -53,6 +53,7 @@
import org.axsl.fotree.fo.Float;
import org.axsl.fotree.fo.Flow;
import org.axsl.fotree.fo.FoTextCharacters;
+import org.axsl.fotree.fo.FoTextWords;
import org.axsl.fotree.fo.Footnote;
import org.axsl.fotree.fo.FootnoteBody;
import org.axsl.fotree.fo.InitialPropertySet;
@@ -389,6 +390,11 @@
}
@Override
+ public FoTextWordsPnr makeProxy(final FoTextWords node) {
+ return new FoTextWordsPnr(node, this);
+ }
+
+ @Override
public NoLayoutPnr makeProxy(final Title node) {
return new NoLayoutPnr(node, this);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|