[FOray-commit] SF.net SVN: foray:[12981] trunk/foray/foray-fotree/src
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2022-12-30 22:00:50
|
Revision: 12981
http://sourceforge.net/p/foray/code/12981
Author: victormote
Date: 2022-12-30 22:00:47 +0000 (Fri, 30 Dec 2022)
Log Message:
-----------
Rename methods to more closely match the XSL-FO Recommendation.
Modified Paths:
--------------
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/Property.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/AbstractAudioDial.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnCount.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnNumber.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnWidth.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdFontSize.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdFontSizeAdjust.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdGroupingSize.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdHyphenationPushCharacterCount.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdHyphenationRemainCharacterCount.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdLineHeight.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdMaximumRepeats.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberColumnsRepeated.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberColumnsSpanned.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberRowsSpanned.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdSpeechRate.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdVolume.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/parse/PropertyParser.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtBorderWidth.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtInteger.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtLength.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtNumber.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtPercentage.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtSpace.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprAdditiveOper.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprInner.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprMultiplicativeOper.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprUnaryOper.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbs.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbstractNamedProperty.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbstractNumber.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnCeiling.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnFloor.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnMax.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnMin.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnProportionalColumnWidth.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRgb.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRgbIcc.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRound.java
trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/PropertyValue.java
trunk/foray/foray-fotree/src/test/java/org/foray/fotree/value/FnAbsTests.java
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/Property.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/Property.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/Property.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -243,7 +243,7 @@
if (value.canEvalInteger()) {
return value.evalInteger();
}
- return value.evalNumeric().intValue();
+ return value.evalNumber().intValue();
}
/**
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/AbstractAudioDial.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/AbstractAudioDial.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/AbstractAudioDial.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -79,8 +79,8 @@
if (pv.canEvalKeyword()) {
return pv;
}
- if (pv.canEvalNumeric()) {
- final Number number = pv.evalNumeric();
+ if (pv.canEvalNumber()) {
+ final Number number = pv.evalNumber();
if (number.doubleValue() >= 0
&& number.doubleValue() <= NumericConstants.PERCENT_CONVERSION) {
return pv;
@@ -96,8 +96,8 @@
* @return The value of this property.
*/
public Number getValue(final FoContext context, final FoObj fobj) {
- if (value().canEvalNumeric()) {
- return value().evalNumeric();
+ if (value().canEvalNumber()) {
+ return value().evalNumber();
}
if (value().canEvalKeyword()) {
final FoValue keyword = this.convertValueToFoValue(value());
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnCount.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnCount.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnCount.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -71,7 +71,7 @@
if (pv.canEvalKeyword()) {
return pv;
}
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
@@ -94,7 +94,7 @@
}
return getValueNoInstance();
}
- if (value().canEvalNumeric()) {
+ if (value().canEvalNumber()) {
final int integerValue = this.convertNumericToInteger(value());
return Math.max(1, integerValue);
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnNumber.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnNumber.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnNumber.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -65,7 +65,7 @@
*/
private PropertyValue createPropertyValue(final String value) throws PropertyException {
final PropertyValue pv = standardParse(value);
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
@@ -87,7 +87,7 @@
* @return The value of this property.
*/
public int getValue() {
- if (this.value().canEvalNumeric()) {
+ if (this.value().canEvalNumber()) {
final int integerValue = this.convertNumericToInteger(value());
return Math.max(1, integerValue);
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnWidth.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnWidth.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdColumnWidth.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -108,7 +108,7 @@
if (value() instanceof FnProportionalColumnWidth) {
final FnProportionalColumnWidth function =
(FnProportionalColumnWidth) value();
- return function.evalNumeric();
+ return function.evalNumber();
}
return 0;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdFontSize.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdFontSize.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdFontSize.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -199,7 +199,7 @@
return Math.round(percentage * getBaseFontSize(context,
fobj) / NumericConstants.PERCENT_CONVERSION);
}
- if (value().canEvalNumeric()) {
+ if (value().canEvalNumber()) {
return value().evalLength(getBaseFontSize(context, fobj));
}
throw this.unexpectedRetrieval();
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdFontSizeAdjust.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdFontSizeAdjust.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdFontSizeAdjust.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -72,7 +72,7 @@
if (pv.canEvalKeyword()) {
return pv;
}
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
@@ -85,8 +85,8 @@
* @return The value of this property.
*/
public Number getValue(final FoContext context, final FoObj fobj) {
- if (value().canEvalNumeric()) {
- return value().evalNumeric();
+ if (value().canEvalNumber()) {
+ return value().evalNumber();
}
if (value().canEvalKeyword()) {
final FoValue keyword = this.convertValueToFoValue(value());
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdGroupingSize.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdGroupingSize.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdGroupingSize.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -62,7 +62,7 @@
*/
private PropertyValue createPropertyValue(final String value) throws PropertyException {
final PropertyValue pv = standardParse(value);
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdHyphenationPushCharacterCount.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdHyphenationPushCharacterCount.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdHyphenationPushCharacterCount.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -71,7 +71,7 @@
if (pv.canEvalKeyword()) {
return pv;
}
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
@@ -96,7 +96,7 @@
}
}
}
- if (value().canEvalNumeric()) {
+ if (value().canEvalNumber()) {
final int integerValue = this.convertNumericToInteger(value());
return Math.max(1, integerValue);
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdHyphenationRemainCharacterCount.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdHyphenationRemainCharacterCount.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdHyphenationRemainCharacterCount.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -71,7 +71,7 @@
if (pv.canEvalKeyword()) {
return pv;
}
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
@@ -96,7 +96,7 @@
}
}
}
- if (value().canEvalNumeric()) {
+ if (value().canEvalNumber()) {
final int integerValue = this.convertNumericToInteger(value());
return Math.max(1, integerValue);
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdLineHeight.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdLineHeight.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdLineHeight.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -104,10 +104,10 @@
}
return pv;
}
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
/* This test includes both expressions that can and cannot evaluate
* to a length, because <number> is one of the input values. */
- if (pv.evalNumeric().doubleValue() >= 0) {
+ if (pv.evalNumber().doubleValue() >= 0) {
return pv;
}
}
@@ -168,12 +168,12 @@
return Math.round(percentage * base /
NumericConstants.PERCENT_CONVERSION);
}
- if (value().canEvalNumeric()) {
+ if (value().canEvalNumber()) {
final int fontSize = fobj.traitFontSize(context);
if (value().canEvalLength()) {
return value().evalLength(fontSize);
} else {
- return (int) Math.round(value().evalNumeric().doubleValue() * fontSize);
+ return (int) Math.round(value().evalNumber().doubleValue() * fontSize);
}
}
if (value() instanceof DtSpace) {
@@ -221,13 +221,13 @@
* not. It is possible we should return a value of 1.0F here. */
return value().evalPercentage() / NumericConstants.PERCENT_CONVERSION;
}
- if (value().canEvalNumeric()) {
+ if (value().canEvalNumber()) {
if (value().canEvalLength()) {
/* It is possible that this value should be inferred as the
* Length value divided by font-size. */
return 1.0f;
} else {
- return (float) value().evalNumeric();
+ return (float) value().evalNumber();
}
}
throw this.unexpectedRetrieval();
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdMaximumRepeats.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdMaximumRepeats.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdMaximumRepeats.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -74,7 +74,7 @@
if (pv.canEvalKeyword()) {
return pv;
}
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
@@ -104,7 +104,7 @@
}
}
}
- if (value().canEvalNumeric()) {
+ if (value().canEvalNumber()) {
final int integerValue = this.convertNumericToInteger(value());
return Math.max(0, integerValue);
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberColumnsRepeated.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberColumnsRepeated.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberColumnsRepeated.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -60,7 +60,7 @@
*/
private PropertyValue createPropertyValue(final String value) throws PropertyException {
final PropertyValue pv = standardParse(value);
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberColumnsSpanned.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberColumnsSpanned.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberColumnsSpanned.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -60,7 +60,7 @@
*/
private PropertyValue createPropertyValue(final String value) throws PropertyException {
final PropertyValue pv = standardParse(value);
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberRowsSpanned.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberRowsSpanned.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdNumberRowsSpanned.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -60,7 +60,7 @@
*/
private PropertyValue createPropertyValue(final String value) throws PropertyException {
final PropertyValue pv = standardParse(value);
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
return pv;
}
throw unexpectedValue(value);
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdSpeechRate.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdSpeechRate.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdSpeechRate.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -103,7 +103,7 @@
if (pv.canEvalKeyword()) {
return pv;
}
- if (pv.canEvalNumeric()) {
+ if (pv.canEvalNumber()) {
if (pv.getUnitPower() == Expr.UNIT_POWER_NUMERIC) {
return pv;
}
@@ -118,8 +118,8 @@
* @return The value of this property.
*/
public Number getValue(final FoContext context, final FoObj fobj) {
- if (value().canEvalNumeric()) {
- return value().evalNumeric();
+ if (value().canEvalNumber()) {
+ return value().evalNumber();
}
if (value().canEvalKeyword()) {
final FoValue keyword = this.convertValueToFoValue(value());
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdVolume.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdVolume.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/fo/prop/PdVolume.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -103,8 +103,8 @@
if (pv.canEvalPercentage()) {
return pv;
}
- if (pv.canEvalNumeric()) {
- final Number number = pv.evalNumeric();
+ if (pv.canEvalNumber()) {
+ final Number number = pv.evalNumber();
if (pv.getUnitPower() == Expr.UNIT_POWER_NUMERIC
&& number.doubleValue() >= 0
&& number.doubleValue() <= NumericConstants.PERCENT_CONVERSION) {
@@ -134,8 +134,8 @@
product = Math.min(product, NumericConstants.PERCENT_CONVERSION);
return product;
}
- if (value().canEvalNumeric()) {
- return value().evalNumeric();
+ if (value().canEvalNumber()) {
+ return value().evalNumber();
}
if (value().canEvalKeyword()) {
final FoValue keyword = this.convertValueToFoValue(value());
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/parse/PropertyParser.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/parse/PropertyParser.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/parse/PropertyParser.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -118,7 +118,7 @@
/* If what is parsed so far is not numeric, it cannot be a part of
* an additive expression. Therefore, as far as this parser is
* concerned, the expression is an error. */
- if (! prop.canEvalNumeric()) {
+ if (! prop.canEvalNumber()) {
return null;
}
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtBorderWidth.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtBorderWidth.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtBorderWidth.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -147,14 +147,14 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
- if (this.value.canEvalNumeric()) {
- return this.value.evalNumeric();
+ public Number evalNumber() {
+ if (this.value.canEvalNumber()) {
+ return this.value.evalNumber();
}
return this.getKeywordValue();
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtInteger.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtInteger.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtInteger.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -57,12 +57,12 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
+ public Number evalNumber() {
return this.value;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtLength.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtLength.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtLength.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -161,12 +161,12 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
+ public Number evalNumber() {
return this.value;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtNumber.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtNumber.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtNumber.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -48,12 +48,12 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
+ public Number evalNumber() {
return this.value;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtPercentage.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtPercentage.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtPercentage.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -58,12 +58,12 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
+ public Number evalNumber() {
return this.value;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtSpace.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtSpace.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/DtSpace.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -171,7 +171,7 @@
*/
public void setPrecedence(final PropertyValue precedence)
throws PropertyException {
- if (! precedence.canEvalNumeric()) {
+ if (! precedence.canEvalNumber()) {
throw new PropertyException("Invalid Numeric for precedence in "
+ this.getClass().getName());
}
@@ -219,7 +219,7 @@
*/
public int getPrecedence() {
/* TODO: This needs some work. */
- return (int) Math.round(this.precedence.evalNumeric().doubleValue());
+ return (int) Math.round(this.precedence.evalNumber().doubleValue());
}
/**
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprAdditiveOper.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprAdditiveOper.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprAdditiveOper.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -56,12 +56,12 @@
public ExprAdditiveOper(final ExprAdditive operand1,
final ExprMultiplicative operand2,
final byte operation) throws PropertyException {
- if (! (operand1.canEvalNumeric())) {
+ if (! (operand1.canEvalNumber())) {
throw new PropertyException("AdditiveExpr: Non-numeric operand: "
+ operand1.toString());
}
this.operand1 = operand1;
- if (! (operand2.canEvalNumeric())) {
+ if (! (operand2.canEvalNumber())) {
throw new PropertyException("AdditiveExpr: Non-numeric operand: "
+ operand2.toString());
}
@@ -126,7 +126,7 @@
* @return The numeric value of the first operand.
*/
private Number getOperand1Value() {
- return this.operand1.evalNumeric();
+ return this.operand1.evalNumber();
}
/**
@@ -134,7 +134,7 @@
* @return The numeric value of the second operand.
*/
private Number getOperand2Value() {
- return this.operand2.evalNumeric();
+ return this.operand2.evalNumber();
}
/**
@@ -158,12 +158,12 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
+ public Number evalNumber() {
switch (this.operation) {
case Expr.OPERATION_ADD: {
return getOperand1Value().doubleValue() + getOperand2Value().doubleValue();
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprInner.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprInner.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprInner.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -57,13 +57,13 @@
}
@Override
- public boolean canEvalNumeric() {
- return this.getEnclosedExpression().canEvalNumeric();
+ public boolean canEvalNumber() {
+ return this.getEnclosedExpression().canEvalNumber();
}
@Override
- public Number evalNumeric() {
- return this.getEnclosedExpression().evalNumeric();
+ public Number evalNumber() {
+ return this.getEnclosedExpression().evalNumber();
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprMultiplicativeOper.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprMultiplicativeOper.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprMultiplicativeOper.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -57,12 +57,12 @@
public ExprMultiplicativeOper(final ExprMultiplicative operand1,
final ExprUnary operand2, final byte operation)
throws PropertyException {
- if (! (operand1.canEvalNumeric())) {
+ if (! (operand1.canEvalNumber())) {
throw new PropertyException(this.getClass().getName()
+ ": Non-numeric operand: " + operand1.toString());
}
this.operand1 = operand1;
- if (! (operand2.canEvalNumeric())) {
+ if (! (operand2.canEvalNumber())) {
throw new PropertyException(this.getClass().getName()
+ "Non-numeric operand: " + operand2.toString());
}
@@ -107,7 +107,7 @@
rawOperand1 = getOperand1Length(pointSize);
} else {
/* Capability verified during construction. */
- rawOperand1 = this.operand1.evalNumeric();
+ rawOperand1 = this.operand1.evalNumber();
}
// Compute raw value for operand2
@@ -115,7 +115,7 @@
if (getOperand2UnitPower() == 1) {
rawOperand2 = getOperand2Length(pointSize);
} else {
- rawOperand2 = this.operand2.evalNumeric();
+ rawOperand2 = this.operand2.evalNumber();
}
Number rawValue = 0;
@@ -147,7 +147,7 @@
* @return The numeric value of the first operand.
*/
private Number getOperand1Value() {
- return this.operand1.evalNumeric();
+ return this.operand1.evalNumber();
}
/**
@@ -155,7 +155,7 @@
* @return The numeric value of the second operand.
*/
private Number getOperand2Value() {
- return this.operand2.evalNumeric();
+ return this.operand2.evalNumber();
}
/**
@@ -208,12 +208,12 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
+ public Number evalNumber() {
switch (this.operation) {
case Expr.OPERATION_MULTIPLY: {
return getOperand1Value().doubleValue() * getOperand2Value().doubleValue();
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprUnaryOper.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprUnaryOper.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/ExprUnaryOper.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -52,7 +52,7 @@
*/
public ExprUnaryOper(final ExprUnary operand1, final byte operation)
throws PropertyException {
- if (! (operand1.canEvalNumeric())) {
+ if (! (operand1.canEvalNumber())) {
throw new PropertyException("UnaryExpr: Non-numeric operand: "
+ operand1.toString());
}
@@ -93,14 +93,14 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
+ public Number evalNumber() {
if (this.operation == Expr.OPERATION_NEGATION) {
- return this.operand1.evalNumeric().doubleValue() * -1;
+ return this.operand1.evalNumber().doubleValue() * -1;
}
return 0;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbs.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbs.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbs.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -52,7 +52,7 @@
this.invalidParameters();
}
/* The argument must be numeric. */
- if (! (arguments[0].canEvalNumeric())) {
+ if (! (arguments[0].canEvalNumber())) {
this.invalidParameters();
}
this.operand1 = arguments[0];
@@ -64,8 +64,8 @@
}
@Override
- public Number evalNumeric() {
- return Math.abs(this.operand1.evalNumeric().doubleValue());
+ public Number evalNumber() {
+ return Math.abs(this.operand1.evalNumber().doubleValue());
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbstractNamedProperty.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbstractNamedProperty.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbstractNamedProperty.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -45,13 +45,13 @@
public abstract FoPropertyId getPropertyType();
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
/* TODO: Fix this. It needs to pass-thru the contained type. */
return false;
}
@Override
- public Number evalNumeric() {
+ public Number evalNumber() {
/* TODO: Fix this. It needs to pass-thru the contained type. */
throw this.evalNumericException();
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbstractNumber.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbstractNumber.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnAbstractNumber.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -37,7 +37,7 @@
public abstract class FnAbstractNumber extends Function {
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnCeiling.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnCeiling.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnCeiling.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -51,7 +51,7 @@
this.invalidParameters();
}
/* The argument must be numeric. */
- if (! (arguments[0].canEvalNumeric())) {
+ if (! (arguments[0].canEvalNumber())) {
this.invalidParameters();
}
this.operand1 = arguments[0];
@@ -67,8 +67,8 @@
}
@Override
- public Number evalNumeric() {
- return Math.ceil(this.operand1.evalNumeric().doubleValue());
+ public Number evalNumber() {
+ return Math.ceil(this.operand1.evalNumber().doubleValue());
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnFloor.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnFloor.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnFloor.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -51,7 +51,7 @@
this.invalidParameters();
}
/* The argument must be numeric. */
- if (! (arguments[0].canEvalNumeric())) {
+ if (! (arguments[0].canEvalNumber())) {
this.invalidParameters();
}
this.operand1 = arguments[0];
@@ -67,8 +67,8 @@
}
@Override
- public Number evalNumeric() {
- return Math.floor(this.operand1.evalNumeric().doubleValue());
+ public Number evalNumber() {
+ return Math.floor(this.operand1.evalNumber().doubleValue());
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnMax.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnMax.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnMax.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -53,11 +53,11 @@
this.invalidParameters();
}
/* The arguments must be numeric. */
- if (! (arguments[0].canEvalNumeric())) {
+ if (! (arguments[0].canEvalNumber())) {
this.invalidParameters();
}
this.operand1 = arguments[0];
- if (! (arguments[1].canEvalNumeric())) {
+ if (! (arguments[1].canEvalNumber())) {
this.invalidParameters();
}
this.operand2 = arguments[1];
@@ -74,8 +74,8 @@
}
@Override
- public Number evalNumeric() {
- return Math.max(this.operand1.evalNumeric().doubleValue(), this.operand2.evalNumeric().doubleValue());
+ public Number evalNumber() {
+ return Math.max(this.operand1.evalNumber().doubleValue(), this.operand2.evalNumber().doubleValue());
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnMin.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnMin.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnMin.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -54,11 +54,11 @@
this.invalidParameters();
}
/* The arguments must be numeric. */
- if (! (arguments[0].canEvalNumeric())) {
+ if (! (arguments[0].canEvalNumber())) {
this.invalidParameters();
}
this.operand1 = arguments[0];
- if (! (arguments[1].canEvalNumeric())) {
+ if (! (arguments[1].canEvalNumber())) {
this.invalidParameters();
}
this.operand2 = arguments[1];
@@ -75,8 +75,8 @@
}
@Override
- public Number evalNumeric() {
- return Math.min(this.operand1.evalNumeric().doubleValue(), this.operand2.evalNumeric().doubleValue());
+ public Number evalNumber() {
+ return Math.min(this.operand1.evalNumber().doubleValue(), this.operand2.evalNumber().doubleValue());
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnProportionalColumnWidth.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnProportionalColumnWidth.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnProportionalColumnWidth.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -59,7 +59,7 @@
invalidParameters();
}
/* The one argument must be Numeric. */
- if (! (arguments[0].canEvalNumeric())) {
+ if (! (arguments[0].canEvalNumber())) {
invalidParameters();
}
this.operand1 = arguments[0];
@@ -71,13 +71,13 @@
}
@Override
- public boolean canEvalNumeric() {
+ public boolean canEvalNumber() {
return true;
}
@Override
- public Number evalNumeric() {
- return this.operand1.evalNumeric();
+ public Number evalNumber() {
+ return this.operand1.evalNumber();
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRgb.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRgb.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRgb.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -57,17 +57,17 @@
if (arguments.length != FnRgb.QTY_RGB_ELEMENTS) {
this.invalidParameters();
}
- if (! (arguments[0].canEvalNumeric())) {
+ if (! (arguments[0].canEvalNumber())) {
this.invalidParameters();
}
this.numerics[0] = arguments[0];
validateColor(this.numerics[0]);
- if (! (arguments[1].canEvalNumeric())) {
+ if (! (arguments[1].canEvalNumber())) {
this.invalidParameters();
}
this.numerics[1] = arguments[1];
validateColor(this.numerics[1]);
- if (! (arguments[2].canEvalNumeric())) {
+ if (! (arguments[2].canEvalNumber())) {
this.invalidParameters();
}
this.numerics[2] = arguments[2];
@@ -91,7 +91,7 @@
/* Using CSS rules, numbers are either supposed to be 0-255
* or percentage values. If percentages value, they've already
* been converted to reals. */
- final double colorVal = numeric.evalNumeric().doubleValue()
+ final double colorVal = numeric.evalNumber().doubleValue()
/ PrimitiveConstants.MAX_8_BIT_UNSIGNED_INT;
if (colorVal < 0.0
|| colorVal > PrimitiveConstants.MAX_8_BIT_UNSIGNED_INT) {
@@ -106,11 +106,11 @@
*/
public Color eval() {
return new Color(
- (float) this.numerics[0].evalNumeric()
+ (float) this.numerics[0].evalNumber()
/ PrimitiveConstants.MAX_8_BIT_UNSIGNED_INT,
- (float) this.numerics[1].evalNumeric()
+ (float) this.numerics[1].evalNumber()
/ PrimitiveConstants.MAX_8_BIT_UNSIGNED_INT,
- (float) this.numerics[2].evalNumeric()
+ (float) this.numerics[2].evalNumber()
/ PrimitiveConstants.MAX_8_BIT_UNSIGNED_INT);
}
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRgbIcc.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRgbIcc.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRgbIcc.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -72,7 +72,7 @@
/* Validate and store the fallback color arguments. */
for (int i = 0; i < FnRgbIcc.QTY_RGB_ELEMENTS; i++) {
- if (! (arguments[i].canEvalNumeric())) {
+ if (! (arguments[i].canEvalNumber())) {
this.invalidParameters();
}
this.fallbackColor[i] = arguments[i];
@@ -93,7 +93,7 @@
* quantity of components? */
this.numerics = new Expr[qtyComponents];
for (int i = FnRgbIcc.QTY_RGB_ELEMENTS + 1; i < arguments.length; i++) {
- if (! (arguments[i].canEvalNumeric())) {
+ if (! (arguments[i].canEvalNumber())) {
this.invalidParameters();
}
/* TODO: We don't know how to validate this until we understand the
@@ -138,7 +138,7 @@
/* Using CSS rules, numbers are either supposed to be 0-255
* or percentage values. If percentages value, they've already
* been converted to reals. */
- final double colorVal = numeric.evalNumeric().doubleValue()
+ final double colorVal = numeric.evalNumber().doubleValue()
/ PrimitiveConstants.MAX_8_BIT_UNSIGNED_INT;
if (colorVal < 0.0
|| colorVal > PrimitiveConstants.MAX_8_BIT_UNSIGNED_INT) {
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRound.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRound.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/FnRound.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -51,7 +51,7 @@
invalidParameters();
}
/* The argument must be numeric. */
- if (! (arguments[0].canEvalNumeric())) {
+ if (! (arguments[0].canEvalNumber())) {
invalidParameters();
}
this.operand1 = arguments[0];
@@ -67,8 +67,8 @@
}
@Override
- public Number evalNumeric() {
- return Math.round(this.operand1.evalNumeric().doubleValue());
+ public Number evalNumber() {
+ return Math.round(this.operand1.evalNumber().doubleValue());
}
@Override
@@ -104,7 +104,7 @@
@Override
public int evalInteger() {
- return this.operand1.evalNumeric().intValue();
+ return this.operand1.evalNumber().intValue();
}
@Override
Modified: trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/PropertyValue.java
===================================================================
--- trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/PropertyValue.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/main/java/org/foray/fotree/value/PropertyValue.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -38,19 +38,20 @@
public interface PropertyValue {
/**
- * Indicates whether this property value has the ability to express itself as a Numeric item.
- * @return True if and only if this property value is a numeric.
+ * Indicates whether this property value can be expressed as an XSL-FO "number".
+ * @return True if and only if this property value can be expressed as an XSL-FO "number".
*/
- default boolean canEvalNumeric() {
+ default boolean canEvalNumber() {
return false;
}
/**
- * Return the raw numeric value of "this", without regard to unit power.
- * @return A number representation of the this value.
+ * Return the XSL-FO number value of "this", without regard to unit power.
+ * @return This value, as an XSL-FO "number".
+ * @throws IllegalStateException If this value cannot be expressed as an XSL-FO "number".
*/
- default Number evalNumeric() {
- throw new IllegalStateException("Property cannot evaluate to a Numeric.");
+ default Number evalNumber() {
+ throw new IllegalStateException("Property cannot evaluate to an XSL-FO <number>.");
}
/**
Modified: trunk/foray/foray-fotree/src/test/java/org/foray/fotree/value/FnAbsTests.java
===================================================================
--- trunk/foray/foray-fotree/src/test/java/org/foray/fotree/value/FnAbsTests.java 2022-12-30 21:35:36 UTC (rev 12980)
+++ trunk/foray/foray-fotree/src/test/java/org/foray/fotree/value/FnAbsTests.java 2022-12-30 22:00:47 UTC (rev 12981)
@@ -64,7 +64,7 @@
final Function fn = Function.makeFunction("abs", FnAbsTests.NUMERIC_ARRAY_1, null);
assertTrue(fn instanceof FnAbs);
final FnAbs fnAbs = (FnAbs) fn;
- assertEquals(2.3, fnAbs.evalNumeric().doubleValue(), .001);
+ assertEquals(2.3, fnAbs.evalNumber().doubleValue(), .001);
}
/**
@@ -76,7 +76,7 @@
final Function fn = Function.makeFunction("abs", FnAbsTests.NUMERIC_ARRAY_2, null);
assertTrue(fn instanceof FnAbs);
final FnAbs fnAbs = (FnAbs) fn;
- assertEquals(512.9, fnAbs.evalNumeric().doubleValue(), .001);
+ assertEquals(512.9, fnAbs.evalNumber().doubleValue(), .001);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|