You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
(36) |
Apr
(36) |
May
(127) |
Jun
(193) |
Jul
(12) |
Aug
(46) |
Sep
(66) |
Oct
(28) |
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(39) |
Feb
(68) |
Mar
(58) |
Apr
(88) |
May
(40) |
Jun
(82) |
Jul
(213) |
Aug
(19) |
Sep
(2) |
Oct
(26) |
Nov
(2) |
Dec
|
| 2008 |
Jan
(5) |
Feb
(30) |
Mar
(26) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
(4) |
Apr
(44) |
May
(1) |
Jun
(9) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(35) |
Jun
|
Jul
|
Aug
(48) |
Sep
(10) |
Oct
(1) |
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(40) |
| 2017 |
Jan
(82) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(15) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
(37) |
Mar
(28) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(27) |
| 2021 |
Jan
(52) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(72) |
Dec
(100) |
| 2022 |
Jan
(119) |
Feb
(94) |
Mar
(4) |
Apr
|
May
|
Jun
(5) |
Jul
(3) |
Aug
(2) |
Sep
|
Oct
|
Nov
(10) |
Dec
(97) |
| 2023 |
Jan
(52) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(17) |
Sep
(21) |
Oct
(8) |
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
(11) |
Feb
(1) |
Mar
|
Apr
(27) |
May
(62) |
Jun
(27) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2026 |
Jan
(14) |
Feb
(55) |
Mar
(49) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <vic...@us...> - 2026-03-31 12:55:16
|
Revision: 3001
http://sourceforge.net/p/axsl/code/3001
Author: victormote
Date: 2026-03-31 12:55:14 +0000 (Tue, 31 Mar 2026)
Log Message:
-----------
Enforce use of assertJ assertions.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/config/checkstyle/checkstyle-config.xml
trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java
trunk/axsl/axsl-constants/src/test/java/org/axsl/unicode/UnicodeScriptExtendedTests.java
trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpBranchTfTests.java
trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpFitnessClassTests.java
trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpLeafIteratorTests.java
trunk/axsl/axsl-value/src/test/java/org/axsl/value/ForcePageCountTests.java
Modified: trunk/axsl/axsl-00-dev/config/checkstyle/checkstyle-config.xml
===================================================================
--- trunk/axsl/axsl-00-dev/config/checkstyle/checkstyle-config.xml 2026-03-31 12:02:31 UTC (rev 3000)
+++ trunk/axsl/axsl-00-dev/config/checkstyle/checkstyle-config.xml 2026-03-31 12:55:14 UTC (rev 3001)
@@ -160,12 +160,17 @@
</module>
<module name="ImportOrder">
- <property name="option" value="above"/>
- <property name="groups" value="org.axsl,org,/^(org.junit|org.mockito)/,java,javax"/>
+ <property name="option" value="inflow"/>
+ <property name="groups" value="org.axsl,org,/^(org.junit|org.assertj|org.mockito)/,java,javax"/>
<property name="separated" value="true"/>
<property name="ordered" value="true"/>
</module>
+ <module name="IllegalImport">
+ <!-- Force use of assertJ assertions. -->
+ <property name="illegalPkgs" value="org.junit.jupiter.api.Assertions" />
+ </module>
+
<!-- Don't allow non-private instance variables. -->
<module name="VisibilityModifier"/>
Modified: trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java
===================================================================
--- trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java 2026-03-31 12:02:31 UTC (rev 3000)
+++ trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java 2026-03-31 12:55:14 UTC (rev 3001)
@@ -24,7 +24,6 @@
package org.axsl.constants;
import static org.assertj.core.api.Assertions.assertThat;
-
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
Modified: trunk/axsl/axsl-constants/src/test/java/org/axsl/unicode/UnicodeScriptExtendedTests.java
===================================================================
--- trunk/axsl/axsl-constants/src/test/java/org/axsl/unicode/UnicodeScriptExtendedTests.java 2026-03-31 12:02:31 UTC (rev 3000)
+++ trunk/axsl/axsl-constants/src/test/java/org/axsl/unicode/UnicodeScriptExtendedTests.java 2026-03-31 12:55:14 UTC (rev 3001)
@@ -22,7 +22,7 @@
*/
package org.axsl.unicode;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.Test;
import java.lang.Character.UnicodeScript;
@@ -37,16 +37,16 @@
*/
@Test
public void retrievalTest() {
- assertEquals(2, UnicodeScriptExtended.getQtyRanges(UnicodeScript.JAVANESE));
+ assertThat(2).isEqualTo(UnicodeScriptExtended.getQtyRanges(UnicodeScript.JAVANESE));
- assertEquals(236, UnicodeScriptExtended.getRangeIndex(UnicodeScript.JAVANESE, 0));
- assertEquals(238, UnicodeScriptExtended.getRangeIndex(UnicodeScript.JAVANESE, 1));
+ assertThat(236).isEqualTo(UnicodeScriptExtended.getRangeIndex(UnicodeScript.JAVANESE, 0));
+ assertThat(238).isEqualTo(UnicodeScriptExtended.getRangeIndex(UnicodeScript.JAVANESE, 1));
- assertEquals(0xA980, UnicodeScriptExtended.getRangeStart(236));
- assertEquals(0xA9CF - 1, UnicodeScriptExtended.getRangeEnd(236));
+ assertThat(0xA980).isEqualTo(UnicodeScriptExtended.getRangeStart(236));
+ assertThat(0xA9CF - 1).isEqualTo(UnicodeScriptExtended.getRangeEnd(236));
- assertEquals(0xA9D0, UnicodeScriptExtended.getRangeStart(238));
- assertEquals(0xA9E0 - 1, UnicodeScriptExtended.getRangeEnd(238));
+ assertThat(0xA9D0).isEqualTo(UnicodeScriptExtended.getRangeStart(238));
+ assertThat(0xA9E0 - 1).isEqualTo(UnicodeScriptExtended.getRangeEnd(238));
}
}
Modified: trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpBranchTfTests.java
===================================================================
--- trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpBranchTfTests.java 2026-03-31 12:02:31 UTC (rev 3000)
+++ trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpBranchTfTests.java 2026-03-31 12:55:14 UTC (rev 3001)
@@ -24,8 +24,7 @@
package org.axsl.kp;
import static org.assertj.core.api.Assertions.assertThat;
-
-import static org.junit.jupiter.api.Assertions.fail;
+import static org.assertj.core.api.Assertions.fail;
import org.junit.jupiter.api.Test;
/**
Modified: trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpFitnessClassTests.java
===================================================================
--- trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpFitnessClassTests.java 2026-03-31 12:02:31 UTC (rev 3000)
+++ trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpFitnessClassTests.java 2026-03-31 12:55:14 UTC (rev 3001)
@@ -23,7 +23,7 @@
package org.axsl.kp;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.Test;
/**
@@ -36,14 +36,14 @@
*/
@Test
public void testInitialState() {
- assertEquals(4, KpFitnessClass.values().length);
- assertEquals(KpFitnessClass.TIGHT,
+ assertThat(4).isEqualTo(KpFitnessClass.values().length);
+ assertThat(KpFitnessClass.TIGHT).isEqualTo(
KpFitnessClass.fromNumericValue(KpFitnessClass.TIGHT.getNumericValue()));
- assertEquals(KpFitnessClass.NORMAL,
+ assertThat(KpFitnessClass.NORMAL).isEqualTo(
KpFitnessClass.fromNumericValue(KpFitnessClass.NORMAL.getNumericValue()));
- assertEquals(KpFitnessClass.LOOSE,
+ assertThat(KpFitnessClass.LOOSE).isEqualTo(
KpFitnessClass.fromNumericValue(KpFitnessClass.LOOSE.getNumericValue()));
- assertEquals(KpFitnessClass.VERY_LOOSE,
+ assertThat(KpFitnessClass.VERY_LOOSE).isEqualTo(
KpFitnessClass.fromNumericValue(KpFitnessClass.VERY_LOOSE.getNumericValue()));
}
Modified: trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpLeafIteratorTests.java
===================================================================
--- trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpLeafIteratorTests.java 2026-03-31 12:02:31 UTC (rev 3000)
+++ trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpLeafIteratorTests.java 2026-03-31 12:55:14 UTC (rev 3001)
@@ -23,8 +23,9 @@
package org.axsl.kp;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.fail;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.assertj.core.api.Assertions.fail;
import org.junit.jupiter.api.Test;
import java.util.NoSuchElementException;
@@ -46,11 +47,11 @@
private void iteratorAssertions(final KpLeafIterator iterator, final boolean expectedHasNext,
final boolean expectedHasPrevious, final int expectedNextIndex, final int expectedPreviousIndex,
final int expectedDepth) {
- assertEquals(expectedHasNext, iterator.hasNext());
- assertEquals(expectedHasPrevious, iterator.hasPrevious());
- assertEquals(expectedNextIndex, iterator.nextIndex());
- assertEquals(expectedPreviousIndex, iterator.previousIndex());
- assertEquals(expectedDepth, iterator.depth());
+ assertThat(expectedHasNext).isEqualTo(iterator.hasNext());
+ assertThat(expectedHasPrevious).isEqualTo(iterator.hasPrevious());
+ assertThat(expectedNextIndex).isEqualTo(iterator.nextIndex());
+ assertThat(expectedPreviousIndex).isEqualTo(iterator.previousIndex());
+ assertThat(expectedDepth).isEqualTo(iterator.depth());
}
/**
@@ -61,7 +62,7 @@
private void leafNodeAssertions(final String expectedText, final KpLeaf leaf) {
if (leaf instanceof CharSequence) {
final CharSequence chars = (CharSequence) leaf;
- assertEquals(expectedText, chars.toString());
+ assertThat(expectedText).isEqualTo(chars.toString());
} else {
fail("Expected text node here.");
}
@@ -146,13 +147,10 @@
/* We just retrieved the first node using previous(). The cursor is sitting before index 0. Another previous()
* should throw an exception. */
- try {
+ assertThatThrownBy(() -> {
out.previous();
- fail("Exception expected here.");
- } catch (final NoSuchElementException e) {
- /* This is the expected case. */
- assertEquals("There is no \"previous\" leaf.", e.getMessage());
- }
+ }).isInstanceOf(NoSuchElementException.class)
+ .hasMessageMatching("There is no \"previous\" leaf.");
}
/**
@@ -164,13 +162,10 @@
final KpLeafIterator out = new KpLeafIterator(para);
iteratorAssertions(out, true, false, 0, -1, 1);
- try {
+ assertThatThrownBy(() -> {
out.previous();
- fail("Exception expected here.");
- } catch (final NoSuchElementException e) {
- /* This is the expected case. */
- assertEquals("There is no \"previous\" leaf.", e.getMessage());
- }
+ }).isInstanceOf(NoSuchElementException.class)
+ .hasMessageMatching("There is no \"previous\" leaf.");
}
/**
@@ -190,13 +185,10 @@
/* Make sure we are where we think we are. */
iteratorAssertions(out, false, true, 50, 49, 2);
- try {
+ assertThatThrownBy(() -> {
out.next();
- fail("Exception expected here.");
- } catch (final NoSuchElementException e) {
- /* This is the expected case. */
- assertEquals("There is no \"next\" leaf.", e.getMessage());
- }
+ }).isInstanceOf(NoSuchElementException.class)
+ .hasMessageMatching("There is no \"next\" leaf.");
}
}
Modified: trunk/axsl/axsl-value/src/test/java/org/axsl/value/ForcePageCountTests.java
===================================================================
--- trunk/axsl/axsl-value/src/test/java/org/axsl/value/ForcePageCountTests.java 2026-03-31 12:02:31 UTC (rev 3000)
+++ trunk/axsl/axsl-value/src/test/java/org/axsl/value/ForcePageCountTests.java 2026-03-31 12:55:14 UTC (rev 3001)
@@ -24,7 +24,6 @@
package org.axsl.value;
import static org.assertj.core.api.Assertions.assertThat;
-
import org.junit.jupiter.api.Test;
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-31 12:02:33
|
Revision: 3000
http://sourceforge.net/p/axsl/code/3000
Author: victormote
Date: 2026-03-31 12:02:31 +0000 (Tue, 31 Mar 2026)
Log Message:
-----------
Remove some no-longer-needed Maven configurations.
Removed Paths:
-------------
trunk/axsl/axsl-00-dev/ide/maven/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-31 12:00:48
|
Revision: 2999
http://sourceforge.net/p/axsl/code/2999
Author: victormote
Date: 2026-03-31 12:00:45 +0000 (Tue, 31 Mar 2026)
Log Message:
-----------
Move Eclipse-related config to the correct directory.
Added Paths:
-----------
trunk/axsl/axsl-00-dev/ide/eclipse/org.eclipse.jdt.core.prefs
trunk/axsl/axsl-00-dev/ide/eclipse/org.eclipse.jdt.ui.prefs
Removed Paths:
-------------
trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.core.prefs
trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.ui.prefs
Copied: trunk/axsl/axsl-00-dev/ide/eclipse/org.eclipse.jdt.core.prefs (from rev 2998, trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.core.prefs)
===================================================================
--- trunk/axsl/axsl-00-dev/ide/eclipse/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/axsl/axsl-00-dev/ide/eclipse/org.eclipse.jdt.core.prefs 2026-03-31 12:00:45 UTC (rev 2999)
@@ -0,0 +1,87 @@
+#Tue Feb 02 21:30:04 MST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
Copied: trunk/axsl/axsl-00-dev/ide/eclipse/org.eclipse.jdt.ui.prefs (from rev 2998, trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.ui.prefs)
===================================================================
--- trunk/axsl/axsl-00-dev/ide/eclipse/org.eclipse.jdt.ui.prefs (rev 0)
+++ trunk/axsl/axsl-00-dev/ide/eclipse/org.eclipse.jdt.ui.prefs 2026-03-31 12:00:45 UTC (rev 2999)
@@ -0,0 +1,3 @@
+#Thu Feb 01 18:30:48 MST 2007
+eclipse.preferences.version=1
+internal.default.compliance=default
Deleted: trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.core.prefs 2026-03-31 11:59:33 UTC (rev 2998)
+++ trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.core.prefs 2026-03-31 12:00:45 UTC (rev 2999)
@@ -1,87 +0,0 @@
-#Tue Feb 02 21:30:04 MST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
Deleted: trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.ui.prefs
===================================================================
--- trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.ui.prefs 2026-03-31 11:59:33 UTC (rev 2998)
+++ trunk/axsl/axsl-00-dev/ide/maven/eclipse/org.eclipse.jdt.ui.prefs 2026-03-31 12:00:45 UTC (rev 2999)
@@ -1,3 +0,0 @@
-#Thu Feb 01 18:30:48 MST 2007
-eclipse.preferences.version=1
-internal.default.compliance=default
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-31 11:59:35
|
Revision: 2998
http://sourceforge.net/p/axsl/code/2998
Author: victormote
Date: 2026-03-31 11:59:33 +0000 (Tue, 31 Mar 2026)
Log Message:
-----------
Rename directory for clarity.
Added Paths:
-----------
trunk/axsl/axsl-00-dev/ide/
Removed Paths:
-------------
trunk/axsl/axsl-00-dev/scripts/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-31 11:57:07
|
Revision: 2997
http://sourceforge.net/p/axsl/code/2997
Author: victormote
Date: 2026-03-31 11:57:06 +0000 (Tue, 31 Mar 2026)
Log Message:
-----------
Remove some no-longer-needed Maven configurations.
Removed Paths:
-------------
trunk/axsl/axsl-00-dev/scripts/maven/build/
trunk/axsl/axsl-00-dev/scripts/maven/eclipse/org.maven.ide.eclipse.prefs
Deleted: trunk/axsl/axsl-00-dev/scripts/maven/eclipse/org.maven.ide.eclipse.prefs
===================================================================
--- trunk/axsl/axsl-00-dev/scripts/maven/eclipse/org.maven.ide.eclipse.prefs 2026-03-30 23:57:08 UTC (rev 2996)
+++ trunk/axsl/axsl-00-dev/scripts/maven/eclipse/org.maven.ide.eclipse.prefs 2026-03-31 11:57:06 UTC (rev 2997)
@@ -1,9 +0,0 @@
-#Sat May 01 09:31:52 MDT 2010
-activeProfiles=
-eclipse.preferences.version=1
-fullBuildGoals=process-test-resources
-includeModules=false
-resolveWorkspaceProjects=true
-resourceFilterGoals=process-resources resources\:testResources
-skipCompilerPlugin=true
-version=1
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-30 23:57:10
|
Revision: 2996
http://sourceforge.net/p/axsl/code/2996
Author: victormote
Date: 2026-03-30 23:57:08 +0000 (Mon, 30 Mar 2026)
Log Message:
-----------
Minor upgrade to JUnit. Add test dependency on assertJ.
Modified Paths:
--------------
trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java
trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpBranchTfTests.java
trunk/axsl/axsl-value/src/test/java/org/axsl/value/ForcePageCountTests.java
trunk/axsl/buildSrc/src/main/groovy/axsl.test-conventions.gradle
trunk/axsl/gradle/libs.versions.toml
Modified: trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java
===================================================================
--- trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java 2026-03-26 14:00:04 UTC (rev 2995)
+++ trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java 2026-03-30 23:57:08 UTC (rev 2996)
@@ -23,7 +23,8 @@
package org.axsl.constants;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.assertj.core.api.Assertions.assertThat;
+
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
@@ -40,16 +41,16 @@
public void testMillipointsToPoints() {
BigDecimal expected = new BigDecimal("15.999");
BigDecimal actual = TypographicConstants.millipointsToPoints(15_999);
- assertEquals(expected, actual);
+ assertThat(expected).isEqualTo(actual);
expected = BigDecimal.ZERO;
actual = TypographicConstants.millipointsToPoints(0);
/* Want to do identity equality check here, but BigDecimal actually caches 15 different zero values. */
- assertEquals(0, expected.compareTo(actual));
+ assertThat(0).isEqualTo(expected.compareTo(actual));
expected = BigDecimal.ONE;
actual = TypographicConstants.millipointsToPoints(1000);
- assertEquals(0, expected.compareTo(actual));
+ assertThat(0).isEqualTo(expected.compareTo(actual));
}
}
Modified: trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpBranchTfTests.java
===================================================================
--- trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpBranchTfTests.java 2026-03-26 14:00:04 UTC (rev 2995)
+++ trunk/axsl/axsl-kp-model/src/test/java/org/axsl/kp/KpBranchTfTests.java 2026-03-30 23:57:08 UTC (rev 2996)
@@ -23,7 +23,8 @@
package org.axsl.kp;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.assertj.core.api.Assertions.assertThat;
+
import static org.junit.jupiter.api.Assertions.fail;
import org.junit.jupiter.api.Test;
@@ -114,7 +115,7 @@
private void nodeAssertions(final String expectedText, final KpNode node) {
if (node instanceof CharSequence) {
final CharSequence chars = (CharSequence) node;
- assertEquals(expectedText, chars.toString());
+ assertThat(expectedText).isEqualTo(chars.toString());
} else {
fail("Text node expected here.");
}
@@ -128,7 +129,7 @@
final KpBranchTf out = createTestPara();
/* Test the /node/ count. */
- assertEquals(39, out.qtyKpNodes());
+ assertThat(39).isEqualTo(out.qtyKpNodes());
/* Test the /nodes/ at each end, and one in the middle. */
nodeAssertions("Be", out.kpNodeAt(0));
@@ -136,7 +137,7 @@
nodeAssertions("born", out.kpNodeAt(15));
/* Most nodes are exactly one leaf. 3 lines each add an additional 2 leaves each, adding 6 leaves. */
- assertEquals(50, out.qtyKpLeaves());
+ assertThat(50).isEqualTo(out.qtyKpLeaves());
/* Test the /leaves/ at each end. */
nodeAssertions("B", out.kpLeafAt(0));
Modified: trunk/axsl/axsl-value/src/test/java/org/axsl/value/ForcePageCountTests.java
===================================================================
--- trunk/axsl/axsl-value/src/test/java/org/axsl/value/ForcePageCountTests.java 2026-03-26 14:00:04 UTC (rev 2995)
+++ trunk/axsl/axsl-value/src/test/java/org/axsl/value/ForcePageCountTests.java 2026-03-30 23:57:08 UTC (rev 2996)
@@ -23,8 +23,8 @@
package org.axsl.value;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
+
import org.junit.jupiter.api.Test;
/**
@@ -37,59 +37,60 @@
*/
@Test
public void addPageTest001() {
- assertTrue(ForcePageCount.AUTO.addPage(31, 17, 33)); //odd, odd, odd
- assertFalse(ForcePageCount.AUTO.addPage(31, 17, 32)); //odd, odd, even
- assertTrue(ForcePageCount.AUTO.addPage(31, 18, 33)); //odd, even, odd
- assertFalse(ForcePageCount.AUTO.addPage(31, 18, 32)); //odd, even, even
- assertFalse(ForcePageCount.AUTO.addPage(32, 17, -1)); //even, odd, neg
- assertFalse(ForcePageCount.AUTO.addPage(32, 17, -1)); //even, odd, neg
- assertFalse(ForcePageCount.AUTO.addPage(32, 18, -1)); //even, even, neg
- assertFalse(ForcePageCount.AUTO.addPage(32, 18, -1)); //even, even, neg
- assertTrue(ForcePageCount.EVEN.addPage(31, 17, 33)); //odd, odd, odd
- assertTrue(ForcePageCount.EVEN.addPage(31, 17, 32)); //odd, odd, even
- assertFalse(ForcePageCount.EVEN.addPage(31, 18, 33)); //odd, even, odd
- assertFalse(ForcePageCount.EVEN.addPage(31, 18, 32)); //odd, even, even
- assertTrue(ForcePageCount.EVEN.addPage(32, 17, -1)); //even, odd, neg
- assertTrue(ForcePageCount.EVEN.addPage(32, 17, -1)); //even, odd, neg
- assertFalse(ForcePageCount.EVEN.addPage(32, 18, -1)); //even, even, neg
- assertFalse(ForcePageCount.EVEN.addPage(32, 18, -1)); //even, even, neg
+ assertThat(ForcePageCount.AUTO.addPage(31, 17, 33)).isTrue(); //odd, odd, odd
+ assertThat(ForcePageCount.AUTO.addPage(31, 17, 32)).isFalse(); //odd, odd, even
+ assertThat(ForcePageCount.AUTO.addPage(31, 18, 33)).isTrue(); //odd, even, odd
+ assertThat(ForcePageCount.AUTO.addPage(31, 18, 32)).isFalse(); //odd, even, even
+ assertThat(ForcePageCount.AUTO.addPage(32, 17, -1)).isFalse(); //even, odd, neg
+ assertThat(ForcePageCount.AUTO.addPage(32, 17, -1)).isFalse(); //even, odd, neg
+ assertThat(ForcePageCount.AUTO.addPage(32, 18, -1)).isFalse(); //even, even, neg
+ assertThat(ForcePageCount.AUTO.addPage(32, 18, -1)).isFalse(); //even, even, neg
- assertFalse(ForcePageCount.ODD.addPage(31, 17, 33)); //odd, odd, odd
- assertFalse(ForcePageCount.ODD.addPage(31, 17, 32)); //odd, odd, even
- assertTrue(ForcePageCount.ODD.addPage(31, 18, 33)); //odd, even, odd
- assertTrue(ForcePageCount.ODD.addPage(31, 18, 32)); //odd, even, even
- assertFalse(ForcePageCount.ODD.addPage(32, 17, -1)); //even, odd, neg
- assertFalse(ForcePageCount.ODD.addPage(32, 17, -1)); //even, odd, neg
- assertTrue(ForcePageCount.ODD.addPage(32, 18, -1)); //even, even, neg
- assertTrue(ForcePageCount.ODD.addPage(32, 18, -1)); //even, even, neg
+ assertThat(ForcePageCount.EVEN.addPage(31, 17, 33)).isTrue(); //odd, odd, odd
+ assertThat(ForcePageCount.EVEN.addPage(31, 17, 32)).isTrue(); //odd, odd, even
+ assertThat(ForcePageCount.EVEN.addPage(31, 18, 33)).isFalse(); //odd, even, odd
+ assertThat(ForcePageCount.EVEN.addPage(31, 18, 32)).isFalse(); //odd, even, even
+ assertThat(ForcePageCount.EVEN.addPage(32, 17, -1)).isTrue(); //even, odd, neg
+ assertThat(ForcePageCount.EVEN.addPage(32, 17, -1)).isTrue(); //even, odd, neg
+ assertThat(ForcePageCount.EVEN.addPage(32, 18, -1)).isFalse(); //even, even, neg
+ assertThat(ForcePageCount.EVEN.addPage(32, 18, -1)).isFalse(); //even, even, neg
- assertTrue(ForcePageCount.END_ON_EVEN.addPage(31, 17, 33)); //odd, odd, odd
- assertTrue(ForcePageCount.END_ON_EVEN.addPage(31, 17, 32)); //odd, odd, even
- assertTrue(ForcePageCount.END_ON_EVEN.addPage(31, 18, 33)); //odd, even, odd
- assertTrue(ForcePageCount.END_ON_EVEN.addPage(31, 18, 32)); //odd, even, even
- assertFalse(ForcePageCount.END_ON_EVEN.addPage(32, 17, -1)); //even, odd, neg
- assertFalse(ForcePageCount.END_ON_EVEN.addPage(32, 17, -1)); //even, odd, neg
- assertFalse(ForcePageCount.END_ON_EVEN.addPage(32, 18, -1)); //even, even, neg
- assertFalse(ForcePageCount.END_ON_EVEN.addPage(32, 18, -1)); //even, even, neg
+ assertThat(ForcePageCount.ODD.addPage(31, 17, 33)).isFalse(); //odd, odd, odd
+ assertThat(ForcePageCount.ODD.addPage(31, 17, 32)).isFalse(); //odd, odd, even
+ assertThat(ForcePageCount.ODD.addPage(31, 18, 33)).isTrue(); //odd, even, odd
+ assertThat(ForcePageCount.ODD.addPage(31, 18, 32)).isTrue(); //odd, even, even
+ assertThat(ForcePageCount.ODD.addPage(32, 17, -1)).isFalse(); //even, odd, neg
+ assertThat(ForcePageCount.ODD.addPage(32, 17, -1)).isFalse(); //even, odd, neg
+ assertThat(ForcePageCount.ODD.addPage(32, 18, -1)).isTrue(); //even, even, neg
+ assertThat(ForcePageCount.ODD.addPage(32, 18, -1)).isTrue(); //even, even, neg
- assertFalse(ForcePageCount.END_ON_ODD.addPage(31, 17, 33)); //odd, odd, odd
- assertFalse(ForcePageCount.END_ON_ODD.addPage(31, 17, 32)); //odd, odd, even
- assertFalse(ForcePageCount.END_ON_ODD.addPage(31, 18, 33)); //odd, even, odd
- assertFalse(ForcePageCount.END_ON_ODD.addPage(31, 18, 32)); //odd, even, even
- assertTrue(ForcePageCount.END_ON_ODD.addPage(32, 17, -1)); //even, odd, neg
- assertTrue(ForcePageCount.END_ON_ODD.addPage(32, 17, -1)); //even, odd, neg
- assertTrue(ForcePageCount.END_ON_ODD.addPage(32, 18, -1)); //even, even, neg
- assertTrue(ForcePageCount.END_ON_ODD.addPage(32, 18, -1)); //even, even, neg
+ assertThat(ForcePageCount.END_ON_EVEN.addPage(31, 17, 33)).isTrue(); //odd, odd, odd
+ assertThat(ForcePageCount.END_ON_EVEN.addPage(31, 17, 32)).isTrue(); //odd, odd, even
+ assertThat(ForcePageCount.END_ON_EVEN.addPage(31, 18, 33)).isTrue(); //odd, even, odd
+ assertThat(ForcePageCount.END_ON_EVEN.addPage(31, 18, 32)).isTrue(); //odd, even, even
+ assertThat(ForcePageCount.END_ON_EVEN.addPage(32, 17, -1)).isFalse(); //even, odd, neg
+ assertThat(ForcePageCount.END_ON_EVEN.addPage(32, 17, -1)).isFalse(); //even, odd, neg
+ assertThat(ForcePageCount.END_ON_EVEN.addPage(32, 18, -1)).isFalse(); //even, even, neg
+ assertThat(ForcePageCount.END_ON_EVEN.addPage(32, 18, -1)).isFalse(); //even, even, neg
- assertFalse(ForcePageCount.NO_FORCE.addPage(31, 17, 33)); //odd, odd, odd
- assertFalse(ForcePageCount.NO_FORCE.addPage(31, 17, 32)); //odd, odd, even
- assertFalse(ForcePageCount.NO_FORCE.addPage(31, 18, 33)); //odd, even, odd
- assertFalse(ForcePageCount.NO_FORCE.addPage(31, 18, 32)); //odd, even, even
- assertFalse(ForcePageCount.NO_FORCE.addPage(32, 17, -1)); //even, odd, neg
- assertFalse(ForcePageCount.NO_FORCE.addPage(32, 17, -1)); //even, odd, neg
- assertFalse(ForcePageCount.NO_FORCE.addPage(32, 18, -1)); //even, even, neg
- assertFalse(ForcePageCount.NO_FORCE.addPage(32, 18, -1)); //even, even, neg
+ assertThat(ForcePageCount.END_ON_ODD.addPage(31, 17, 33)).isFalse(); //odd, odd, odd
+ assertThat(ForcePageCount.END_ON_ODD.addPage(31, 17, 32)).isFalse(); //odd, odd, even
+ assertThat(ForcePageCount.END_ON_ODD.addPage(31, 18, 33)).isFalse(); //odd, even, odd
+ assertThat(ForcePageCount.END_ON_ODD.addPage(31, 18, 32)).isFalse(); //odd, even, even
+ assertThat(ForcePageCount.END_ON_ODD.addPage(32, 17, -1)).isTrue(); //even, odd, neg
+ assertThat(ForcePageCount.END_ON_ODD.addPage(32, 17, -1)).isTrue(); //even, odd, neg
+ assertThat(ForcePageCount.END_ON_ODD.addPage(32, 18, -1)).isTrue(); //even, even, neg
+ assertThat(ForcePageCount.END_ON_ODD.addPage(32, 18, -1)).isTrue(); //even, even, neg
+
+ assertThat(ForcePageCount.NO_FORCE.addPage(31, 17, 33)).isFalse(); //odd, odd, odd
+ assertThat(ForcePageCount.NO_FORCE.addPage(31, 17, 32)).isFalse(); //odd, odd, even
+ assertThat(ForcePageCount.NO_FORCE.addPage(31, 18, 33)).isFalse(); //odd, even, odd
+ assertThat(ForcePageCount.NO_FORCE.addPage(31, 18, 32)).isFalse(); //odd, even, even
+ assertThat(ForcePageCount.NO_FORCE.addPage(32, 17, -1)).isFalse(); //even, odd, neg
+ assertThat(ForcePageCount.NO_FORCE.addPage(32, 17, -1)).isFalse(); //even, odd, neg
+ assertThat(ForcePageCount.NO_FORCE.addPage(32, 18, -1)).isFalse(); //even, even, neg
+ assertThat(ForcePageCount.NO_FORCE.addPage(32, 18, -1)).isFalse(); //even, even, neg
}
}
Modified: trunk/axsl/buildSrc/src/main/groovy/axsl.test-conventions.gradle
===================================================================
--- trunk/axsl/buildSrc/src/main/groovy/axsl.test-conventions.gradle 2026-03-26 14:00:04 UTC (rev 2995)
+++ trunk/axsl/buildSrc/src/main/groovy/axsl.test-conventions.gradle 2026-03-30 23:57:08 UTC (rev 2996)
@@ -10,6 +10,7 @@
testRuntimeOnly libs.junit.jupiter
testRuntimeOnly libs.junit.platform.launcher
+ testImplementation libs.assertj.core
}
test {
Modified: trunk/axsl/gradle/libs.versions.toml
===================================================================
--- trunk/axsl/gradle/libs.versions.toml 2026-03-26 14:00:04 UTC (rev 2995)
+++ trunk/axsl/gradle/libs.versions.toml 2026-03-30 23:57:08 UTC (rev 2996)
@@ -6,7 +6,8 @@
xmlApisExt = "1.3.04" # Latest is 1.3.04 as of 2026-02-17.
mathMlDom = "2.0"
-junit = "5.13.1" # Latest is 5.13.1 as of 2025-06-15.
+junit = "5.14.3" # Latest is 6.0.3 as of 2026-03-30.
+assertJ = "3.27.7" # Latest is 3.27.7 as of 2026-03-30.
mockito = "4.11.0" # Latest is 5.18.0 as of 2025-06-04. See Note 2.
##### Build-time-only dependencies that should never be permanently used in build.gradle files. #####
@@ -60,6 +61,7 @@
junit-jupiter = { group = "org.junit.jupiter", name = "junit-jupiter", version.ref = "junit" }
junit-jupiter-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit" }
junit-platform-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" }
+assertj-core = { group = "org.assertj", name = "assertj-core", version.ref = "assertJ" }
mockito = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-26 14:00:07
|
Revision: 2995
http://sourceforge.net/p/axsl/code/2995
Author: victormote
Date: 2026-03-26 14:00:04 +0000 (Thu, 26 Mar 2026)
Log Message:
-----------
Add startsWith() method to prevent unnecessary subsetting of byte sequences.
Modified Paths:
--------------
trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequencePlus.java
Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequencePlus.java
===================================================================
--- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequencePlus.java 2026-03-26 12:51:46 UTC (rev 2994)
+++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequencePlus.java 2026-03-26 14:00:04 UTC (rev 2995)
@@ -334,7 +334,7 @@
int lastIndexOf(ByteSequence sequence, int fromIndex);
/**
- * Tests if the subsequence of this sequence, beginning at a specified index, starts with the specified prefix.
+ * Tests whether the subsequence of this sequence, beginning at a specified index, starts with the specified prefix.
* @param prefix The prefix.
* @param offset The index to the first byte in this sequence to be tested.
* @return {@code true} if and only if the sequence represented by {@code prefix} is a prefix of the subsequence of
@@ -344,6 +344,13 @@
*/
boolean startsWith(ByteSequence prefix, int offset);
+ /**
+ * Tests whether this sequence starts with the specified prefix.
+ * @param prefix The prefix.
+ * @return {@code true} if and only if the sequence represented by {@code prefix} is a prefix of this object.
+ * @see java.lang.String#startsWith(String)
+ */
+ boolean startsWith(ByteSequence prefix);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-26 12:51:49
|
Revision: 2994
http://sourceforge.net/p/axsl/code/2994
Author: victormote
Date: 2026-03-26 12:51:46 +0000 (Thu, 26 Mar 2026)
Log Message:
-----------
Add startsWith() method to prevent unnecessary subsetting of byte sequences.
Modified Paths:
--------------
trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequencePlus.java
Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequencePlus.java
===================================================================
--- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequencePlus.java 2026-03-25 19:14:13 UTC (rev 2993)
+++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequencePlus.java 2026-03-26 12:51:46 UTC (rev 2994)
@@ -333,6 +333,16 @@
*/
int lastIndexOf(ByteSequence sequence, int fromIndex);
+ /**
+ * Tests if the subsequence of this sequence, beginning at a specified index, starts with the specified prefix.
+ * @param prefix The prefix.
+ * @param offset The index to the first byte in this sequence to be tested.
+ * @return {@code true} if and only if the sequence represented by {@code prefix} is a prefix of the subsequence of
+ * this object, starting at index {@code offset}.
+ * Also returns false if {@code offset} is negative or greater than the length of this object.
+ * @see java.lang.String#startsWith(String, int)
+ */
+ boolean startsWith(ByteSequence prefix, int offset);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-25 19:14:15
|
Revision: 2993
http://sourceforge.net/p/axsl/code/2993
Author: victormote
Date: 2026-03-25 19:14:13 +0000 (Wed, 25 Mar 2026)
Log Message:
-----------
Doc changes only.
Modified Paths:
--------------
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfIndirectReference.java
Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfIndirectReference.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfIndirectReference.java 2026-03-25 16:44:55 UTC (rev 2992)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfIndirectReference.java 2026-03-25 19:14:13 UTC (rev 2993)
@@ -32,6 +32,11 @@
/**
* Returns the object number of the referenced object.
* @return The object number of the referenced object.
+ * @apiNote When stored in a cross-reference table, the capacity defined in the PDF reference is 10 decimal digits,
+ * a maximum of 9,999,999,999, about 5 times as much as can be stored in an {@link Integer#TYPE}.
+ * However, since {@link Integer#TYPE} defines the maximum size of a Java array, we limit the capacity to that
+ * constraint.
+ * @see "PDF Reference, Sixth Edition, Section 3.4.3."
*/
int getObjectNumber();
@@ -38,6 +43,11 @@
/**
* Returns the generation number of the referenced object.
* @return The generation number of the referenced object.
+ * @apiNote When stored in a cross-reference table, the capacity defined in the PDF reference is 5 decimal digits, a
+ * maximum of 99,999, about 3 times as much as can be stored in an {@link Short#TYPE}, and about 1.5 times as much
+ * as can be stored in a {@link Character#TYPE}.
+ * Therefore we use {@link Integer#TYPE}.
+ * @see "PDF Reference, Sixth Edition, Section 3.4.3."
*/
int getObjectGeneration();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-25 16:44:57
|
Revision: 2992
http://sourceforge.net/p/axsl/code/2992
Author: victormote
Date: 2026-03-25 16:44:55 +0000 (Wed, 25 Mar 2026)
Log Message:
-----------
Add method to append float/double values.
Modified Paths:
--------------
trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java
Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java
===================================================================
--- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java 2026-03-25 15:00:20 UTC (rev 2991)
+++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java 2026-03-25 16:44:55 UTC (rev 2992)
@@ -128,6 +128,16 @@
ByteSequenceMutable append(long theLong);
/**
+ * Converts any floating-point type (float, double) to the ASCII bytes of its String representation, and appends
+ * them to this sequence.
+ * For example, the float -53.192 will be converted to the bytes 0x343138.
+ * @param theDouble The floating-point type to be converted and appended.
+ * @return A reference to this.
+ * @see #append(byte)
+ */
+ ByteSequenceMutable append(double theDouble);
+
+ /**
* Appends the content of an input stream.
* It is the responsibility of the calling code to manage the opening and closing of the stream and to position the
* stream where reading should begin.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-25 15:00:22
|
Revision: 2991
http://sourceforge.net/p/axsl/code/2991
Author: victormote
Date: 2026-03-25 15:00:20 +0000 (Wed, 25 Mar 2026)
Log Message:
-----------
Handle long as well as int and short when appending integrals.
Modified Paths:
--------------
trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java
Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java
===================================================================
--- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java 2026-03-09 00:13:11 UTC (rev 2990)
+++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java 2026-03-25 15:00:20 UTC (rev 2991)
@@ -116,12 +116,16 @@
ByteSequenceMutable append(char theChar, Charset charset);
/**
- * Converts an integer to the ASCII bytes of its String representation, and appends them to this sequence.
+ * Converts any integral (long, int, short) except {@link Byte#TYPE} to the ASCII bytes of its String
+ * representation, and appends them to this sequence.
* For example, the integer 418 will be converted to the bytes 0x343138.
- * @param theInteger The int to be converted and appended.
+ * The method {@link #append(byte)} <em>does not</em> do any such conversion, but appends the raw byte to the
+ * sequence.
+ * @param theLong The integral to be converted and appended.
* @return A reference to this.
+ * @see #append(byte)
*/
- ByteSequenceMutable append(int theInteger);
+ ByteSequenceMutable append(long theLong);
/**
* Appends the content of an input stream.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-09 00:13:13
|
Revision: 2990
http://sourceforge.net/p/axsl/code/2990
Author: victormote
Date: 2026-03-09 00:13:11 +0000 (Mon, 09 Mar 2026)
Log Message:
-----------
Documentation changes only.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/package-info.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/package-info.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/package-info.java 2026-03-08 23:34:35 UTC (rev 2989)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/package-info.java 2026-03-09 00:13:11 UTC (rev 2990)
@@ -23,13 +23,33 @@
/**
* <p>Interfaces allowing client applications to register, track, and use fonts in a vendor-neutral way.
- * An aXSL client application writes its programs using the aXSL interfaces.
- * It then obtains a concrete vendor-specific implementation of FontServer, and concrete vendor-specific implementations
- * of FontConsumer for each document or other user of font information that it processes.
- * From that point, the client application can request FontUse instances from the appropriate FontConsumer.
- * FontUse and Font instances then provide the client application with various font-related services.
- * The only contact a client application must have with a concrete implementation is the provision of a concrete
- * FontServer and FontConsumer instance(s).</p>
+ * An aXSL client application writes its programs using the aXSL interfaces, shielding it from the details of the
+ * implementation, and allowing implementations to be swapped in and out more readily.</p>
+ *
+ * <p>Much of the design of aXSL Font is driven by the need to handle multiple encodings for one font.
+ * This somewhat an artifact of pre-Unicode days, and it is possible that the extra complexity that is caused by this
+ * design feature can be retired at some point in the future.
+ * Adobe announced in 2021 that it will no longer support Type 1 fonts starting in 2023:</p>
+ *
+ * <p>To use aXSL Font:</p>
+ * <ol>
+ * <li>Obtains a concrete vendor-specific implementation of {@link FontServer}.</li>
+ * <li>Use the {@link FontServer} to create a {@link FontConsumer}, which is the document-level object that keeps
+ * track of which fonts have been used in the document.
+ * <li>As fonts are needed by the client application, it obtains them from methods in {@link FontConsumer}, which
+ * returns them in the form of a {@link ConsumerFont}.</li>
+ * <li>The {@link ConsumerFont} is a wrapper around a {@link Font} instance.
+ * It creates and manages instances of {@link FontUse}, which is a wrapper around the {@link Font} and an
+ * {@link org.axsl.ps.Encoding}.</li>
+ * <li>The {@link FontUse} instance converts Unicode code points to font glyph indexes that can be written into an
+ * output document.
+ * It also keeps track of which glyphs have been used, for purposes of creating subsets.</li>
+ * </ol>
+ *
+ * @see <a href="https://helpx.adobe.com/fonts/kb/postscript-type-1-fonts-end-of-support.html">PostScript Type 1 fonts
+ * end of support</a>
+ * @see <a href="http://www.foray.org/module/font/index.html">FOray Font</a> for a reference implementation of aXSL
+ * Font.
*/
package org.axsl.font;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-08 23:34:37
|
Revision: 2989
http://sourceforge.net/p/axsl/code/2989
Author: victormote
Date: 2026-03-08 23:34:35 +0000 (Sun, 08 Mar 2026)
Log Message:
-----------
Change return type of FontConsumer methods to ConsumerFont. Add method to ConsumerFont to allow the default encoding to be overridden.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-08 16:37:43 UTC (rev 2988)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-08 23:34:35 UTC (rev 2989)
@@ -51,6 +51,17 @@
FontConsumer getFontConsumer();
/**
+ * Returns the default encoding to use with this font.
+ * This may or may not be the font's native encoding, allowing implementations to specify some other encoding,
+ * perhaps through configuration.
+ * This does not prevent applications from providing {@FontUse} instances using other encodings, but changes the
+ * default encoding used when no encoding is specified.
+ * @return The default encoding to be used, either the font's internal encoding, or some specified override of that.
+ * @see #getFontUse(Encoding) where any encoding can be used.
+ */
+ Encoding getDefaultEncoding();
+
+ /**
* Returns a {@link FontUse} instance for a given encoding, creating it if necessary.
* @param encoding The encoding for which the {@link FontUse} should be retrieved.
* If this is null, the implication is that the font's internal encoding (if any) should be used.
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 16:37:43 UTC (rev 2988)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 23:34:35 UTC (rev 2989)
@@ -105,7 +105,7 @@
* @see #selectFallbackFont()
* @see <a href="https://www.w3.org/TR/CSS2/fonts.html#algorithm">The CSS2 Font Matching Algorithm</a>
*/
- FontUse selectFont(List<String> familyList, FontStyle style, FontVariant variant, FontWeight weight,
+ ConsumerFont selectFont(List<String> familyList, FontStyle style, FontVariant variant, FontWeight weight,
FontStretch stretch, int fontSize, WritingSystem writingSystem);
/**
@@ -118,7 +118,7 @@
* @see #selectFont(List, FontStyle, FontVariant, FontWeight, FontStretch, int, WritingSystem)
* @see #selectFallbackFont()
*/
- FontUse selectFallbackFont(Script script);
+ ConsumerFont selectFallbackFont(Script script);
/**
* Returns an instance of a fallback font.
@@ -133,7 +133,7 @@
* @see #selectFont(List, FontStyle, FontVariant, FontWeight, FontStretch, int, WritingSystem)
* @see #selectFallbackFont(Script)
*/
- FontUse selectFallbackFont();
+ ConsumerFont selectFallbackFont();
/**
* Returns the {@link ConsumerFont} that wraps the use of a {@link Font}, creating it as needed.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-08 16:37:45
|
Revision: 2988
http://sourceforge.net/p/axsl/code/2988
Author: victormote
Date: 2026-03-08 16:37:43 +0000 (Sun, 08 Mar 2026)
Log Message:
-----------
Rename methods for clarity.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 16:14:27 UTC (rev 2987)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 16:37:43 UTC (rev 2988)
@@ -101,8 +101,8 @@
* Set this to null to signal that the writing system needs no further consideration during font selection.
* @return The best-fitting {@link FontUse} instance associated with the descriptive input, or null if none is
* found using the given criteria.
- * @see #selectFontFallback(Script)
- * @see #selectFontFallback()
+ * @see #selectFallbackFont(Script)
+ * @see #selectFallbackFont()
* @see <a href="https://www.w3.org/TR/CSS2/fonts.html#algorithm">The CSS2 Font Matching Algorithm</a>
*/
FontUse selectFont(List<String> familyList, FontStyle style, FontVariant variant, FontWeight weight,
@@ -116,9 +116,9 @@
* @param script The script for which a font is needed.
* @return A {@link FontUse} instance that generally supports {@code script}, or null if none is found.
* @see #selectFont(List, FontStyle, FontVariant, FontWeight, FontStretch, int, WritingSystem)
- * @see #selectFontFallback()
+ * @see #selectFallbackFont()
*/
- FontUse selectFontFallback(Script script);
+ FontUse selectFallbackFont(Script script);
/**
* Returns an instance of a fallback font.
@@ -131,9 +131,9 @@
* method regardless.
* @return A {@link FontUse} instance, any instance.
* @see #selectFont(List, FontStyle, FontVariant, FontWeight, FontStretch, int, WritingSystem)
- * @see #selectFontFallback(Script)
+ * @see #selectFallbackFont(Script)
*/
- FontUse selectFontFallback();
+ FontUse selectFallbackFont();
/**
* Returns the {@link ConsumerFont} that wraps the use of a {@link Font}, creating it as needed.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-08 16:14:30
|
Revision: 2987
http://sourceforge.net/p/axsl/code/2987
Author: victormote
Date: 2026-03-08 16:14:27 +0000 (Sun, 08 Mar 2026)
Log Message:
-----------
Remove getFontUse method from FontConsumer.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-08 15:45:52 UTC (rev 2986)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-08 16:14:27 UTC (rev 2987)
@@ -53,6 +53,7 @@
/**
* Returns a {@link FontUse} instance for a given encoding, creating it if necessary.
* @param encoding The encoding for which the {@link FontUse} should be retrieved.
+ * If this is null, the implication is that the font's internal encoding (if any) should be used.
* @return The {@link FontUse} for this font, using {@code encoding}.
*/
FontUse getFontUse(Encoding encoding);
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 15:45:52 UTC (rev 2986)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 16:14:27 UTC (rev 2987)
@@ -25,7 +25,6 @@
import org.axsl.i18n.Script;
import org.axsl.i18n.WritingSystem;
-import org.axsl.ps.Encoding;
import org.axsl.value.FontSelectionStrategy;
import org.axsl.value.FontStretch;
import org.axsl.value.FontStyle;
@@ -137,15 +136,6 @@
FontUse selectFontFallback();
/**
- * Creates a FontUse instance for an already-resolved Font.
- * @param font The font for which a FontUse is needed.
- * @param encoding The encoding to use for the FontUse instance.
- * If null, the native font encoding should be used.
- * @return A font use to be used by this consumer.
- */
- FontUse getFontUse(Font font, Encoding encoding);
-
- /**
* Returns the {@link ConsumerFont} that wraps the use of a {@link Font}, creating it as needed.
* @param font The {@link Font} for which the {@link ConsumerFont} should be returned.
* @return The {@link ConsumerFont} for {@code font}.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-08 15:45:54
|
Revision: 2986
http://sourceforge.net/p/axsl/code/2986
Author: victormote
Date: 2026-03-08 15:45:52 +0000 (Sun, 08 Mar 2026)
Log Message:
-----------
Add method to return the ConsumerFont for a given Font.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 15:02:24 UTC (rev 2985)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 15:45:52 UTC (rev 2986)
@@ -146,10 +146,17 @@
FontUse getFontUse(Font font, Encoding encoding);
/**
+ * Returns the {@link ConsumerFont} that wraps the use of a {@link Font}, creating it as needed.
+ * @param font The {@link Font} for which the {@link ConsumerFont} should be returned.
+ * @return The {@link ConsumerFont} for {@code font}.
+ */
+ ConsumerFont getConsumerFont(Font font);
+
+ /**
* Returns the collection of {@link ConsumerFont} instances that have been used by this FontConsumer.
* @return The collection of {@link ConsumerFont} instances used by this FontConsumer.
*/
- Collection<ConsumerFont> getUsedFonts();
+ Collection<ConsumerFont> getConsumerFonts();
/**
* <p>Optimizes the fonts used by this FontConsumer.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-08 15:02:27
|
Revision: 2985
http://sourceforge.net/p/axsl/code/2985
Author: victormote
Date: 2026-03-08 15:02:24 +0000 (Sun, 08 Mar 2026)
Log Message:
-----------
Change return type from List to Collection, for greater implementation flexibility.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 14:35:09 UTC (rev 2984)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-08 15:02:24 UTC (rev 2985)
@@ -32,6 +32,7 @@
import org.axsl.value.FontVariant;
import org.axsl.value.FontWeight;
+import java.util.Collection;
import java.util.List;
/**
@@ -145,10 +146,10 @@
FontUse getFontUse(Font font, Encoding encoding);
/**
- * Returns a list of the {@link ConsumerFont} instances that have been used by this FontConsumer.
- * @return The list of {@link ConsumerFont} instances used by this FontConsumer.
+ * Returns the collection of {@link ConsumerFont} instances that have been used by this FontConsumer.
+ * @return The collection of {@link ConsumerFont} instances used by this FontConsumer.
*/
- List<? extends ConsumerFont> getUsedFonts();
+ Collection<ConsumerFont> getUsedFonts();
/**
* <p>Optimizes the fonts used by this FontConsumer.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-08 14:35:11
|
Revision: 2984
http://sourceforge.net/p/axsl/code/2984
Author: victormote
Date: 2026-03-08 14:35:09 +0000 (Sun, 08 Mar 2026)
Log Message:
-----------
Add method to get/create a FontUse instance.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-07 23:38:56 UTC (rev 2983)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-08 14:35:09 UTC (rev 2984)
@@ -24,6 +24,7 @@
package org.axsl.font;
import org.axsl.primitive.sequence.ByteSequence;
+import org.axsl.ps.Encoding;
import java.util.Collection;
@@ -50,6 +51,13 @@
FontConsumer getFontConsumer();
/**
+ * Returns a {@link FontUse} instance for a given encoding, creating it if necessary.
+ * @param encoding The encoding for which the {@link FontUse} should be retrieved.
+ * @return The {@link FontUse} for this font, using {@code encoding}.
+ */
+ FontUse getFontUse(Encoding encoding);
+
+ /**
* Returns the collection of child {@link FontUse} instances, i.e. those {@link FontUse} created for this font.
* This will ordinarily contain only one instance, but in the case of Type1 fonts that require multiple encodings
* for access to all glyphs, it may contain more.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-07 23:38:59
|
Revision: 2983
http://sourceforge.net/p/axsl/code/2983
Author: victormote
Date: 2026-03-07 23:38:56 +0000 (Sat, 07 Mar 2026)
Log Message:
-----------
Change return type on getFontUses() from List to Collection, to increase flexibility for implementations.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-07 15:31:57 UTC (rev 2982)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-07 23:38:56 UTC (rev 2983)
@@ -25,7 +25,7 @@
import org.axsl.primitive.sequence.ByteSequence;
-import java.util.List;
+import java.util.Collection;
/**
* <p>A {@link Font} as used by a specific {@link FontConsumer}.
@@ -50,13 +50,12 @@
FontConsumer getFontConsumer();
/**
- * Returns the list of child {@link FontUse} instances, i.e. the list of {@link FontUse} instances that have been
- * used by {@link #getFontConsumer}.
+ * Returns the collection of child {@link FontUse} instances, i.e. those {@link FontUse} created for this font.
* This will ordinarily contain only one instance, but in the case of Type1 fonts that require multiple encodings
* for access to all glyphs, it may contain more.
- * @return The list of child {@link FontUse} instances.
+ * @return The collection of child {@link FontUse} instances.
*/
- List<? extends FontUse> getFontUses();
+ Collection<FontUse> getFontUses();
/**
* Returns the raw font file content, so that it can be embedded in other documents.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-07 15:31:59
|
Revision: 2982
http://sourceforge.net/p/axsl/code/2982
Author: victormote
Date: 2026-03-07 15:31:57 +0000 (Sat, 07 Mar 2026)
Log Message:
-----------
Add method for testing glyph availability to Font.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2026-03-07 09:47:03 UTC (rev 2981)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2026-03-07 15:31:57 UTC (rev 2982)
@@ -685,4 +685,13 @@
*/
BigDecimal simulateStretch(FontStretch stretch);
+ /**
+ * Reports on the availability of a glyph in this font, without regard to encoding issues.
+ * In other words, if this method returns true, the glyph may be available in an encoding other than the native
+ * font encoding.
+ * @param codePoint The Unicode code point to be tested.
+ * @return True if and only if this font can paint a glyph for {@code codePoint} using some encoding.
+ */
+ boolean glyphAvailable(int codePoint);
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-07 09:47:05
|
Revision: 2981
http://sourceforge.net/p/axsl/code/2981
Author: victormote
Date: 2026-03-07 09:47:03 +0000 (Sat, 07 Mar 2026)
Log Message:
-----------
Rename method for clarity. Add explanatory javadoc.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-07 00:03:32 UTC (rev 2980)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-07 09:47:03 UTC (rev 2981)
@@ -50,12 +50,13 @@
FontConsumer getFontConsumer();
/**
- * Returns the list of child {@link FontUse} instances.
+ * Returns the list of child {@link FontUse} instances, i.e. the list of {@link FontUse} instances that have been
+ * used by {@link #getFontConsumer}.
* This will ordinarily contain only one instance, but in the case of Type1 fonts that require multiple encodings
* for access to all glyphs, it may contain more.
* @return The list of child {@link FontUse} instances.
*/
- List<? extends FontUse> getUsedFontUses();
+ List<? extends FontUse> getFontUses();
/**
* Returns the raw font file content, so that it can be embedded in other documents.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-07 00:03:33
|
Revision: 2980
http://sourceforge.net/p/axsl/code/2980
Author: victormote
Date: 2026-03-07 00:03:32 +0000 (Sat, 07 Mar 2026)
Log Message:
-----------
Add optimize() method to ConsumerFont.
Modified Paths:
--------------
trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-06 17:28:01 UTC (rev 2979)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/ConsumerFont.java 2026-03-07 00:03:32 UTC (rev 2980)
@@ -105,4 +105,13 @@
*/
int getEmbeddableLength3();
+ /**
+ * Optimize the information about this font in preparation for output.
+ * Implementations are free to make this a no-op.
+ * If it is run, it would be after all text has been written, usage information has been gathered, and perhaps data
+ * structures need to be sorted or otherwise prepared.
+ * @see FontConsumer#optimizeFonts()
+ */
+ void optimize();
+
}
Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java
===================================================================
--- trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-06 17:28:01 UTC (rev 2979)
+++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontConsumer.java 2026-03-07 00:03:32 UTC (rev 2980)
@@ -170,6 +170,7 @@
* If the client runs the registration and writing tasks concurrently, it should not use this method, as doing
* so will corrupt the logical connection between the glyph indices used to embed the font and those used to write
* the document contents.</p>
+ * @see ConsumerFont#optimize()
*/
void optimizeFonts();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-06 17:28:03
|
Revision: 2979
http://sourceforge.net/p/axsl/code/2979
Author: victormote
Date: 2026-03-06 17:28:01 +0000 (Fri, 06 Mar 2026)
Log Message:
-----------
Remove unneeded constant in favor of using new method.
Modified Paths:
--------------
trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java
Modified: trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java
===================================================================
--- trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java 2026-03-06 17:05:25 UTC (rev 2978)
+++ trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java 2026-03-06 17:28:01 UTC (rev 2979)
@@ -32,7 +32,6 @@
/**
* Well-known constant used to convert millipoints to/from points, which is {@value}.
- * @see #MILLIPOINTS_PER_POINT_BD for the BigDecimal equivalent.
*/
public static final int MILLIPOINTS_PER_POINT = 1_000;
@@ -44,14 +43,6 @@
public static final int MILLIPOINTS_TO_POINTS_SCALE = 3;
/**
- * Well-known constant used to convert millipoints to/from points, which is 1000.
- * @see #MILLIPOINTS_PER_POINT for the primitive equivalent.
- * @apiNote Both primitive and {@link BigDecimal} constants are maintained in this class to avoid unnecessary
- * conversions when used in computations.
- */
- public static final BigDecimal MILLIPOINTS_PER_POINT_BD = BigDecimal.valueOf(MILLIPOINTS_PER_POINT);
-
- /**
* The number of points per inch, which is {@value}.
* A "point" is a somewhat nebulous term, but here we use the term as standardized by Adobe in their concept of text
* space units.
@@ -61,7 +52,7 @@
/** The number of picas per inch, which is {@value}. */
public static final int PICAS_PER_INCH = 6;
- /** The number of decipoints per point, that is, 10. */
+ /** The number of decipoints per point, which is {@value}. */
public static final int DECIPOINTS_PER_POINT = 10;
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-06 17:05:28
|
Revision: 2978
http://sourceforge.net/p/axsl/code/2978
Author: victormote
Date: 2026-03-06 17:05:25 +0000 (Fri, 06 Mar 2026)
Log Message:
-----------
Convert PdfExplicitDestination dimensions to BigDecimal.
Modified Paths:
--------------
trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java
Added Paths:
-----------
trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/
trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java
Modified: trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java
===================================================================
--- trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java 2026-03-06 14:18:28 UTC (rev 2977)
+++ trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java 2026-03-06 17:05:25 UTC (rev 2978)
@@ -32,10 +32,18 @@
/**
* Well-known constant used to convert millipoints to/from points, which is {@value}.
- * @see #MILLIPOINTS_PER_POINT_BD for the BigDecimal equivalent. */
+ * @see #MILLIPOINTS_PER_POINT_BD for the BigDecimal equivalent.
+ */
public static final int MILLIPOINTS_PER_POINT = 1_000;
/**
+ * The scale used to convert millipoints to points, i.e. the number of places the decimal point must be moved to
+ * the left to convert from millipoints to points or to the right to convert points to millipoints.
+ * Value is {@value}.
+ */
+ public static final int MILLIPOINTS_TO_POINTS_SCALE = 3;
+
+ /**
* Well-known constant used to convert millipoints to/from points, which is 1000.
* @see #MILLIPOINTS_PER_POINT for the primitive equivalent.
* @apiNote Both primitive and {@link BigDecimal} constants are maintained in this class to avoid unnecessary
@@ -43,9 +51,11 @@
*/
public static final BigDecimal MILLIPOINTS_PER_POINT_BD = BigDecimal.valueOf(MILLIPOINTS_PER_POINT);
- /** The number of points per inch, which is {@value}.
+ /**
+ * The number of points per inch, which is {@value}.
* A "point" is a somewhat nebulous term, but here we use the term as standardized by Adobe in their concept of text
- * space units. */
+ * space units.
+ */
public static final int POINTS_PER_INCH = 72;
/** The number of picas per inch, which is {@value}. */
@@ -106,4 +116,13 @@
return Math.round(raw);
}
+ /**
+ * Converts millipoints expressed as an integer to points expressed as a {@link BigDecimal}.
+ * @param millipoints The millipoints to be converted.
+ * @return The {@link BigDecimal} equivalent in points of {@code millipoints}.
+ */
+ public static BigDecimal millipointsToPoints(final int millipoints) {
+ return BigDecimal.valueOf(millipoints, MILLIPOINTS_TO_POINTS_SCALE);
+ }
+
}
Added: trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java
===================================================================
--- trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java (rev 0)
+++ trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java 2026-03-06 17:05:25 UTC (rev 2978)
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2026 The aXSL Project.
+ * http://www.axsl.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.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.constants;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.Test;
+
+import java.math.BigDecimal;
+
+/**
+ * Tests of {@link TypographicConstants}.
+ */
+public class TypographicConstantsTests {
+
+ /**
+ * Tests of {@link TypographicConstants#millipointsToPoints(int)}.
+ */
+ @Test
+ public void testMillipointsToPoints() {
+ BigDecimal expected = new BigDecimal("15.999");
+ BigDecimal actual = TypographicConstants.millipointsToPoints(15_999);
+ assertEquals(expected, actual);
+
+ expected = BigDecimal.ZERO;
+ actual = TypographicConstants.millipointsToPoints(0);
+ /* Want to do identity equality check here, but BigDecimal actually caches 15 different zero values. */
+ assertEquals(0, expected.compareTo(actual));
+
+ expected = BigDecimal.ONE;
+ actual = TypographicConstants.millipointsToPoints(1000);
+ assertEquals(0, expected.compareTo(actual));
+ }
+
+}
Property changes on: trunk/axsl/axsl-constants/src/test/java/org/axsl/constants/TypographicConstantsTests.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java 2026-03-06 17:05:25 UTC (rev 2978)
@@ -23,6 +23,8 @@
package org.axsl.pdf.interact;
+import java.math.BigDecimal;
+
/**
* A PDF explicit destination.
*/
@@ -101,32 +103,32 @@
interface Coordinates {
/**
- * The left coordinate of the display window, either "null" or a number of points.
+ * The left coordinate of the display window, expressed in points.
* A null value implies that the coordinate should remain unchanged from its current state.
* @return The left coordinate of the display window.
*/
- String getLeft();
+ BigDecimal getLeft();
/**
- * The bottom coordinate of the display window, either "null" or a number of points.
+ * The bottom coordinate of the display window, expressed in points.
* A null value implies that the coordinate should remain unchanged from its current state.
* @return The bottom coordinate of the display window.
*/
- String getBottom();
+ BigDecimal getBottom();
/**
- * The right coordinate of the display window, either "null" or a number of points.
+ * The right coordinate of the display window, expressed in points.
* A null value implies that the coordinate should remain unchanged from its current state.
* @return The right coordinate of the display window.
*/
- String getRight();
+ BigDecimal getRight();
/**
- * The top coordinate of the display window, either "null" or a number of points.
+ * The top coordinate of the display window, expressed in points.
* A null value implies that the coordinate should remain unchanged from its current state.
* @return The top coordinate of the display window.
*/
- String getTop();
+ BigDecimal getTop();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-03-06 14:18:30
|
Revision: 2977
http://sourceforge.net/p/axsl/code/2977
Author: victormote
Date: 2026-03-06 14:18:28 +0000 (Fri, 06 Mar 2026)
Log Message:
-----------
Move interfaces for interactive features to new package. Rename destination-related interaces for clarity.
Modified Paths:
--------------
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfAction.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDocument.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfPage.java
Added Paths:
-----------
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfDestination.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfNamedDestination.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineItem.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineParent.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineTarget.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java
Removed Paths:
-------------
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java
Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfAction.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfAction.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfAction.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -23,6 +23,8 @@
package org.axsl.pdf;
+import org.axsl.pdf.interact.PdfOutlineTarget;
+
/**
* Super-interface for all PDF action types.
*/
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,31 +0,0 @@
-/*
- * Copyright 2022 The aXSL Project.
- * http://www.axsl.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.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * Super-interface for destination types.
- */
-public interface PdfDestination extends PdfOutlineTarget {
-
-}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,133 +0,0 @@
-/*
- * Copyright 2006 The aXSL Project.
- * http://www.axsl.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.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * A PDF explicit destination.
- */
-public interface PdfDestinationExplicit extends PdfDestination {
-
- /**
- * Enumeration of destination positioning and zoom types.
- * Destinations are tied to a page, and the {@link PositionAndZoom} type tells the PDF viewer what portion of that
- * page should be shown in the viewer when that destination is activated.
- * @see "PDF Reference, Sixth Edition, Section 8.2.1, Table 8.2."
- */
- enum PositionAndZoom {
- /** Requires "left" and "top" coordinates specifying the upper left corner of the window, and an explicit "zoom"
- * factor. A null value for any parameter or a zero value for "zoom" indicates that the specific parameter
- * should remain unchanged. */
- XYZ("/XYZ"),
-
- /** Requires no parameters. Zoom should be set to the maximum value that allows the entire page to fit within
- * the display window both horizontally and vertically. */
- FIT("/Fit"),
-
- /** Requires "top" coordinate specifying the top edge of the window. Zoom should be set to the maximum value
- * that allows the entire width of the page to be visible. A null "top" indicates that the top should remain
- * unchanged. */
- FIT_H("/FitH"),
-
- /** Requires "left" coordinate specifying the left edge of the window. Zoom should be set to the maximum value
- * that allows the entire height of the page to be visible. A null "left" indicates that the left should remain
- * unchanged. */
- FIT_V("/FitV"),
-
- /** Requires specification of an entire rectangle for the display area. Zoom is set to the maximum value that
- * allows that rectangle to be fully visible. None of the coordinates should be null. */
- FIT_R("/FitR"),
-
- /** Requires no parameters. Zoom should be set to the maximum value that allows the entire bounding box of the
- * page to fit within the display window both horizontally and vertically. */
- FIT_B("/FitB"),
-
- /** Requires "top" coordinate specifying the top edge of the window. Zoom should be set to the maximum value
- * that allows the entire width of the bounding box of the page to be visible. A null "top" indicates that the
- * top should remain unchanged. */
- FIT_BH("/FitBH"),
-
- /** Requires "left" coordinate specifying the left edge of the window. Zoom should be set to the maximum value
- * that allows the entire height of the bounding box of the page to be visible. A null "left" indicates that the
- * left should remain unchanged. */
- FIT_BV("/FitBV");
-
- /** The PDF name for this positioning/zoom. */
- private String pdfName;
-
- /**
- * Constructor.
- * @param pdfName The PDF name for this positioning/zoom.
- */
- PositionAndZoom(final String pdfName) {
- this.pdfName = pdfName;
- }
-
- /**
- * Returns the PDF name for this positioning/zoom.
- * @return The PDF name for this positioning/zoom.
- */
- public String getPdfName() {
- return this.pdfName;
- }
-
- }
-
- /**
- * The coordinates for the display window of a PDF explicit destination.
- * These can be used for either the page dimensions or the page bounding box dimensions, as specified in
- * {@link PdfDestinationExplicit.PositionAndZoom}.
- */
- interface Coordinates {
-
- /**
- * The left coordinate of the display window, either "null" or a number of points.
- * A null value implies that the coordinate should remain unchanged from its current state.
- * @return The left coordinate of the display window.
- */
- String getLeft();
-
- /**
- * The bottom coordinate of the display window, either "null" or a number of points.
- * A null value implies that the coordinate should remain unchanged from its current state.
- * @return The bottom coordinate of the display window.
- */
- String getBottom();
-
- /**
- * The right coordinate of the display window, either "null" or a number of points.
- * A null value implies that the coordinate should remain unchanged from its current state.
- * @return The right coordinate of the display window.
- */
- String getRight();
-
- /**
- * The top coordinate of the display window, either "null" or a number of points.
- * A null value implies that the coordinate should remain unchanged from its current state.
- * @return The top coordinate of the display window.
- */
- String getTop();
-
- }
-
-}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,43 +0,0 @@
-/*
- * Copyright 2022 The aXSL Project.
- * http://www.axsl.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.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * A PDF named destination.
- */
-public interface PdfDestinationNamed extends PdfDestination {
-
- /**
- * Returns the name of the referenced destination.
- * @return The name of the referenced destination.
- */
- String getName();
-
- /**
- * Returns the destination referenced by this named destination.
- * @return The referenced explicit destination.
- */
- PdfDestinationExplicit getReferencedDestination();
-
-}
Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDocument.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDocument.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDocument.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -24,6 +24,8 @@
package org.axsl.pdf;
import org.axsl.pdf.graphics.pattern.PdfShadingPattern;
+import org.axsl.pdf.interact.PdfNamedDestination;
+import org.axsl.pdf.interact.PdfOutlineParent;
import java.awt.Color;
import java.awt.MultipleGradientPaint;
@@ -142,6 +144,6 @@
* @param name The name of the destination to be returned.
* @return The registered named destination matching {@code name}, or null if the name has not been registered.
*/
- PdfDestinationNamed getNamedDestination(String name);
+ PdfNamedDestination getNamedDestination(String name);
}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,31 +0,0 @@
-/*
- * Copyright 2006 The aXSL Project.
- * http://www.axsl.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.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * A PDF Outline Item.
- */
-public interface PdfOutlineItem extends PdfOutlineParent {
-
-}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,45 +0,0 @@
-/*
- * Copyright 2006 The aXSL Project.
- * http://www.axsl.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.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-import java.awt.Color;
-
-/**
- * A PDF Outline Parent.
- */
-public interface PdfOutlineParent {
-
- /**
- * Create an implementation-specific PDFOutlineItem instance that is a child of this.
- * @param titleText The text which should be displayed in the bookmarks outline.
- * @param target The destination to be displayed or the action to be performed when this outline item is activated.
- * @param color The color in which the title text should be displayed.
- * @param italic True if the title text should be displayed in italic.
- * @param bold True if the title text should be displayed bold.
- * @return An implementation-specific PDFOutlineItem instance.
- */
- PdfOutlineItem createPdfOutlineItem(String titleText, PdfOutlineTarget target, Color color, boolean italic,
- boolean bold);
-
-}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,31 +0,0 @@
-/*
- * Copyright 2022 The aXSL Project.
- * http://www.axsl.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.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * Super-interface for types that can be targets of a {@link PdfOutlineItem}, aka bookmark.
- */
-public interface PdfOutlineTarget {
-
-}
Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfPage.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfPage.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfPage.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -23,6 +23,9 @@
package org.axsl.pdf;
+import org.axsl.pdf.interact.PdfDestination;
+import org.axsl.pdf.interact.PdfExplicitDestination;
+
import java.awt.geom.Rectangle2D;
import java.math.BigDecimal;
@@ -49,7 +52,7 @@
PdfLink createLink(Rectangle2D rect, String destination, boolean externalLink);
/**
- * Create an implementation-specific {@link PdfDestinationExplicit} and attach it to this page, optionally
+ * Create an implementation-specific {@link PdfExplicitDestination} and attach it to this page, optionally
* registering a name for it as well.
* @param positionAndZoom The general instructions for the location and zoom of the display of the destination.
* @param coordinates The coordinates specifying the position and/or size of the display window.
@@ -56,7 +59,7 @@
* Depending on {@code positionAndZoom}, some or all of the information in this rectangle may be ignored.
* @param explicitZoom The explicit zoom factor to be used.
* This is ignored for all values of {@code positionAndZoom} except
- * {@link PdfDestinationExplicit.PositionAndZoom#XYZ}.
+ * {@link PdfExplicitDestination.PositionAndZoom#XYZ}.
* A value of 2.5 indicates that the zoom should be set to 250%.
* A value of null indicates that the zoom should remain unchanged from its current value.
* @param name If not null, this newly-created destination will be associated with a name by which it can be
@@ -64,8 +67,8 @@
* @return An implementation-specific instance of {@link PdfDestination}, either explicit or named.
* @throws PdfException If there is already a destination registered with {@code name}.
*/
- PdfDestination createDestination(PdfDestinationExplicit.PositionAndZoom positionAndZoom,
- PdfDestinationExplicit.Coordinates coordinates, Float explicitZoom, String name) throws PdfException;
+ PdfDestination createDestination(PdfExplicitDestination.PositionAndZoom positionAndZoom,
+ PdfExplicitDestination.Coordinates coordinates, Float explicitZoom, String name) throws PdfException;
/**
* Sets the default user space units for this page, in multiples of 1/72 inch.
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfDestination.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfDestination.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2022 The aXSL Project.
+ * http://www.axsl.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.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * Super-interface for destination types.
+ */
+public interface PdfDestination extends PdfOutlineTarget {
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java (from rev 2976, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2006 The aXSL Project.
+ * http://www.axsl.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.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * A PDF explicit destination.
+ */
+public interface PdfExplicitDestination extends PdfDestination {
+
+ /**
+ * Enumeration of destination positioning and zoom types.
+ * Destinations are tied to a page, and the {@link PositionAndZoom} type tells the PDF viewer what portion of that
+ * page should be shown in the viewer when that destination is activated.
+ * @see "PDF Reference, Sixth Edition, Section 8.2.1, Table 8.2."
+ */
+ enum PositionAndZoom {
+ /** Requires "left" and "top" coordinates specifying the upper left corner of the window, and an explicit "zoom"
+ * factor. A null value for any parameter or a zero value for "zoom" indicates that the specific parameter
+ * should remain unchanged. */
+ XYZ("/XYZ"),
+
+ /** Requires no parameters. Zoom should be set to the maximum value that allows the entire page to fit within
+ * the display window both horizontally and vertically. */
+ FIT("/Fit"),
+
+ /** Requires "top" coordinate specifying the top edge of the window. Zoom should be set to the maximum value
+ * that allows the entire width of the page to be visible. A null "top" indicates that the top should remain
+ * unchanged. */
+ FIT_H("/FitH"),
+
+ /** Requires "left" coordinate specifying the left edge of the window. Zoom should be set to the maximum value
+ * that allows the entire height of the page to be visible. A null "left" indicates that the left should remain
+ * unchanged. */
+ FIT_V("/FitV"),
+
+ /** Requires specification of an entire rectangle for the display area. Zoom is set to the maximum value that
+ * allows that rectangle to be fully visible. None of the coordinates should be null. */
+ FIT_R("/FitR"),
+
+ /** Requires no parameters. Zoom should be set to the maximum value that allows the entire bounding box of the
+ * page to fit within the display window both horizontally and vertically. */
+ FIT_B("/FitB"),
+
+ /** Requires "top" coordinate specifying the top edge of the window. Zoom should be set to the maximum value
+ * that allows the entire width of the bounding box of the page to be visible. A null "top" indicates that the
+ * top should remain unchanged. */
+ FIT_BH("/FitBH"),
+
+ /** Requires "left" coordinate specifying the left edge of the window. Zoom should be set to the maximum value
+ * that allows the entire height of the bounding box of the page to be visible. A null "left" indicates that the
+ * left should remain unchanged. */
+ FIT_BV("/FitBV");
+
+ /** The PDF name for this positioning/zoom. */
+ private String pdfName;
+
+ /**
+ * Constructor.
+ * @param pdfName The PDF name for this positioning/zoom.
+ */
+ PositionAndZoom(final String pdfName) {
+ this.pdfName = pdfName;
+ }
+
+ /**
+ * Returns the PDF name for this positioning/zoom.
+ * @return The PDF name for this positioning/zoom.
+ */
+ public String getPdfName() {
+ return this.pdfName;
+ }
+
+ }
+
+ /**
+ * The coordinates for the display window of a PDF explicit destination.
+ * These can be used for either the page dimensions or the page bounding box dimensions, as specified in
+ * {@link PdfExplicitDestination.PositionAndZoom}.
+ */
+ interface Coordinates {
+
+ /**
+ * The left coordinate of the display window, either "null" or a number of points.
+ * A null value implies that the coordinate should remain unchanged from its current state.
+ * @return The left coordinate of the display window.
+ */
+ String getLeft();
+
+ /**
+ * The bottom coordinate of the display window, either "null" or a number of points.
+ * A null value implies that the coordinate should remain unchanged from its current state.
+ * @return The bottom coordinate of the display window.
+ */
+ String getBottom();
+
+ /**
+ * The right coordinate of the display window, either "null" or a number of points.
+ * A null value implies that the coordinate should remain unchanged from its current state.
+ * @return The right coordinate of the display window.
+ */
+ String getRight();
+
+ /**
+ * The top coordinate of the display window, either "null" or a number of points.
+ * A null value implies that the coordinate should remain unchanged from its current state.
+ * @return The top coordinate of the display window.
+ */
+ String getTop();
+
+ }
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfNamedDestination.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfNamedDestination.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfNamedDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 The aXSL Project.
+ * http://www.axsl.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.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * A PDF named destination.
+ */
+public interface PdfNamedDestination extends PdfDestination {
+
+ /**
+ * Returns the name of the referenced destination.
+ * @return The name of the referenced destination.
+ */
+ String getName();
+
+ /**
+ * Returns the destination referenced by this named destination.
+ * @return The referenced explicit destination.
+ */
+ PdfExplicitDestination getReferencedDestination();
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineItem.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineItem.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineItem.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2006 The aXSL Project.
+ * http://www.axsl.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.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * A PDF Outline Item.
+ */
+public interface PdfOutlineItem extends PdfOutlineParent {
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineParent.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineParent.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineParent.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2006 The aXSL Project.
+ * http://www.axsl.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.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+import java.awt.Color;
+
+/**
+ * A PDF Outline Parent.
+ */
+public interface PdfOutlineParent {
+
+ /**
+ * Create an implementation-specific PDFOutlineItem instance that is a child of this.
+ * @param titleText The text which should be displayed in the bookmarks outline.
+ * @param target The destination to be displayed or the action to be performed when this outline item is activated.
+ * @param color The color in which the title text should be displayed.
+ * @param italic True if the title text should be displayed in italic.
+ * @param bold True if the title text should be displayed bold.
+ * @return An implementation-specific PDFOutlineItem instance.
+ */
+ PdfOutlineItem createPdfOutlineItem(String titleText, PdfOutlineTarget target, Color color, boolean italic,
+ boolean bold);
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineTarget.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineTarget.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineTarget.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2022 The aXSL Project.
+ * http://www.axsl.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.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * Super-interface for types that can be targets of a {@link PdfOutlineItem}, aka bookmark.
+ */
+public interface PdfOutlineTarget {
+
+}
Added: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2026 The aXSL Project.
+ * http://www.axsl.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.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+/**
+ * Classes for the PDF interactive features.
+ * @see "PDF Reference, Sixth Edition, Chapter 8."
+ */
+package org.axsl.pdf.interact;
Property changes on: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.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.
|