From f982913bb186a2dbc171a0691ed3467ad26c9146 Mon Sep 17 00:00:00 2001 From: Javen O'Neal Date: Sat, 18 Jun 2016 01:21:08 +0000 Subject: [PATCH] bug 59718: deprecate get/setBoldweight. Use get/setBold git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1748898 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hssf/usermodel/HSSFWorkbook.java | 32 ++++++++++++++++++- .../org/apache/poi/ss/usermodel/Workbook.java | 9 +++++- .../apache/poi/xssf/model/StylesTable.java | 21 ++++++++++++ .../poi/xssf/streaming/SXSSFWorkbook.java | 12 +++++++ .../poi/xssf/usermodel/XSSFWorkbook.java | 9 ++++++ 5 files changed, 81 insertions(+), 2 deletions(-) diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java index 20a31e9077..e25c7b9e70 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java @@ -1114,13 +1114,15 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss /** * Finds a font that matches the one with the supplied attributes + * @deprecated 3.15 beta 2. Use {@link #findFont(boolean, short, short, String, boolean, boolean, short, byte)} instead. */ @Override public HSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) { - for (short i=0; i<=getNumberOfFonts(); i++) { + short numberOfFonts = getNumberOfFonts(); + for (short i=0; i<=numberOfFonts; i++) { // Remember - there is no 4! if(i == 4) continue; @@ -1140,6 +1142,34 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss return null; } + /** + * Finds a font that matches the one with the supplied attributes + */ + public HSSFFont findFont(boolean bold, short color, short fontHeight, + String name, boolean italic, boolean strikeout, + short typeOffset, byte underline) + { + short numberOfFonts = getNumberOfFonts(); + for (short i=0; i<=numberOfFonts; i++) { + // Remember - there is no 4! + if(i == 4) continue; + + HSSFFont hssfFont = getFontAt(i); + if (hssfFont.getBold() == bold + && hssfFont.getColor() == color + && hssfFont.getFontHeight() == fontHeight + && hssfFont.getFontName().equals(name) + && hssfFont.getItalic() == italic + && hssfFont.getStrikeout() == strikeout + && hssfFont.getTypeOffset() == typeOffset + && hssfFont.getUnderline() == underline) + { + return hssfFont; + } + } + + return null; + } /** * get the number of fonts in the font table diff --git a/src/java/org/apache/poi/ss/usermodel/Workbook.java b/src/java/org/apache/poi/ss/usermodel/Workbook.java index df754a3b6e..1fcc29a3eb 100644 --- a/src/java/org/apache/poi/ss/usermodel/Workbook.java +++ b/src/java/org/apache/poi/ss/usermodel/Workbook.java @@ -26,7 +26,6 @@ import java.util.List; import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.formula.udf.UDFFinder; import org.apache.poi.ss.usermodel.Row.MissingCellPolicy; -import org.apache.poi.ss.util.CellRangeAddress; /** * High level representation of a Excel workbook. This is the first object most users @@ -283,8 +282,16 @@ public interface Workbook extends Closeable, Iterable { * Finds a font that matches the one with the supplied attributes * * @return the font with the matched attributes or null + * @deprecated POI 3.15 beta 2. Use {@link #findFont(boolean, short, short, String, boolean, boolean, short, byte)} instead. */ Font findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline); + + /** + * Finds a font that matches the one with the supplied attributes + * + * @return the font with the matched attributes or null + */ + Font findFont(boolean bold, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline); /** * Get the number of fonts in the font table diff --git a/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java b/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java index d0e73adb0d..209dc722a1 100644 --- a/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java +++ b/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java @@ -803,6 +803,7 @@ public class StylesTable extends POIXMLDocumentPart { /** * Finds a font that matches the one with the supplied attributes + * @deprecated POI 3.15 beta 2. Use {@link #findFont(boolean, short, short, String, boolean, boolean, short, byte)} instead. */ public XSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) { for (XSSFFont font : fonts) { @@ -820,4 +821,24 @@ public class StylesTable extends POIXMLDocumentPart { } return null; } + + /** + * Finds a font that matches the one with the supplied attributes + */ + public XSSFFont findFont(boolean bold, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) { + for (XSSFFont font : fonts) { + if ( (font.getBold() == bold) + && font.getColor() == color + && font.getFontHeight() == fontHeight + && font.getFontName().equals(name) + && font.getItalic() == italic + && font.getStrikeout() == strikeout + && font.getTypeOffset() == typeOffset + && font.getUnderline() == underline) + { + return font; + } + } + return null; + } } diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java index d741782a97..668e473ac5 100644 --- a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java +++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java @@ -813,12 +813,24 @@ public class SXSSFWorkbook implements Workbook { * Finds a font that matches the one with the supplied attributes * * @return the font with the matched attributes or null + * @deprecated POI 3.15 beta 2. Use {@link #findFont(boolean, short, short, String, boolean, boolean, short, byte)} instead. */ @Override public Font findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) { return _wb.findFont(boldWeight, color, fontHeight, name, italic, strikeout, typeOffset, underline); } + + /** + * Finds a font that matches the one with the supplied attributes + * + * @return the font with the matched attributes or null + */ + @Override + public Font findFont(boolean bold, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) + { + return _wb.findFont(bold, color, fontHeight, name, italic, strikeout, typeOffset, underline); + } /** diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java index 84b131889b..ce4b033fc1 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java @@ -870,11 +870,20 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook { /** * Finds a font that matches the one with the supplied attributes + * @deprecated POI 3.15. Use {@link #findFont(boolean, short, short, String, boolean, boolean, short, byte)} instead. */ @Override public XSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) { return stylesSource.findFont(boldWeight, color, fontHeight, name, italic, strikeout, typeOffset, underline); } + + /** + * Finds a font that matches the one with the supplied attributes + */ + @Override + public XSSFFont findFont(boolean bold, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) { + return stylesSource.findFont(bold, color, fontHeight, name, italic, strikeout, typeOffset, underline); + } /** * Convenience method to get the active sheet. The active sheet is is the sheet -- 2.39.5