You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by vh...@apache.org on 2007/11/13 18:13:20 UTC
svn commit: r594584 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop/fo:
flow/table/EmptyGridUnit.java properties/CommonBorderPaddingBackground.java
Author: vhennebert
Date: Tue Nov 13 09:13:19 2007
New Revision: 594584
URL: http://svn.apache.org/viewvc?rev=594584&view=rev
Log:
Use a singleton for a default BorderInfo of style none, instead of every time a new instance
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/properties/CommonBorderPaddingBackground.java
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java?rev=594584&r1=594583&r2=594584&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java Tue Nov 13 09:13:19 2007
@@ -42,7 +42,7 @@
/** {@inheritDoc} */
protected void setBorder(int side) {
resolvedBorders[side] = new BorderSpecification(
- new CommonBorderPaddingBackground.BorderInfo(Constants.EN_NONE, null, null),
+ CommonBorderPaddingBackground.getDefaultBorderInfo(),
Constants.FO_TABLE_CELL);
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/properties/CommonBorderPaddingBackground.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/properties/CommonBorderPaddingBackground.java?rev=594584&r1=594583&r2=594584&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/properties/CommonBorderPaddingBackground.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/properties/CommonBorderPaddingBackground.java Tue Nov 13 09:13:19 2007
@@ -83,7 +83,7 @@
private Color mColor; // Border color
private CondLengthProperty mWidth;
- public BorderInfo(int style, CondLengthProperty width, Color color) {
+ BorderInfo(int style, CondLengthProperty width, Color color) {
mStyle = style;
mWidth = width;
mColor = color;
@@ -124,6 +124,25 @@
}
}
+ /**
+ * A border info with style none. Used as a singleton, in the collapsing-border model,
+ * for elements which don't specify any border on some of their sides.
+ */
+ private static BorderInfo defaultBorderInfo;
+
+ /**
+ * Returns a default BorderInfo of style none.
+ *
+ * @return a BorderInfo instance with style set to {@link Constants#EN_NONE}
+ */
+ public static synchronized BorderInfo getDefaultBorderInfo() {
+ if (defaultBorderInfo == null) {
+ /* It is enough to set color and width to null, as they should never be consulted */
+ defaultBorderInfo = new BorderInfo(Constants.EN_NONE, null, null);
+ }
+ return defaultBorderInfo;
+ }
+
private BorderInfo[] borderInfo = new BorderInfo[4];
private CondLengthProperty[] padding = new CondLengthProperty[4];
@@ -228,7 +247,7 @@
*/
public BorderInfo getBorderInfo(int side) {
if (this.borderInfo[side] == null) {
- return new BorderInfo(Constants.EN_NONE, null, null); // TODO
+ return getDefaultBorderInfo();
} else {
return this.borderInfo[side];
}
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org