This is an automated email from the ASF dual-hosted git repository.
pjfanning pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/poi.git
The following commit(s) were added to refs/heads/trunk by this push:
new 789cc69ec6 refactor more switch stmts (#1143)
789cc69ec6 is described below
commit 789cc69ec64b34656b528b90f80249aa78828773
Author: PJ Fanning <[email protected]>
AuthorDate: Fri Jun 12 22:56:57 2026 +0100
refactor more switch stmts (#1143)
* refactor more switch stmts
* Update XSLFTableStyle.java
---
.../org/apache/poi/openxml4j/opc/ContentTypes.java | 26 ++--
.../apache/poi/poifs/crypt/dsig/SignatureInfo.java | 10 +-
.../crypt/dsig/facets/XAdESSignatureFacet.java | 14 +-
.../crypt/dsig/services/TSPTimeStampService.java | 15 +-
.../apache/poi/xddf/usermodel/chart/XDDFChart.java | 48 +++----
.../org/apache/poi/xslf/draw/geom/XSLFPath.java | 2 +-
.../apache/poi/xslf/usermodel/XSLFTableCell.java | 19 +--
.../apache/poi/xslf/usermodel/XSLFTableStyle.java | 46 +++---
.../java/org/apache/poi/xslf/util/PPTX2PNG.java | 2 +-
.../org/apache/poi/xssf/usermodel/XSSFSheet.java | 82 ++++-------
.../org/apache/poi/xwpf/usermodel/XWPFRun.java | 17 +--
.../org/apache/poi/xwpf/usermodel/XWPFTable.java | 17 +--
.../org/apache/poi/xwpf/usermodel/XWPFTheme.java | 43 ++----
.../apache/poi/common/usermodel/PictureType.java | 33 ++---
.../poi/common/usermodel/fonts/FontHeader.java | 44 +++---
.../apache/poi/hssf/model/InternalWorkbook.java | 48 +++----
.../org/apache/poi/hssf/model/RecordOrderer.java | 26 +---
.../org/apache/poi/hssf/record/FilePassRecord.java | 16 +--
.../poi/hssf/record/FormulaSpecialCachedValue.java | 69 ++++-----
.../apache/poi/hssf/record/InterfaceEndRecord.java | 12 +-
.../org/apache/poi/hssf/record/NameRecord.java | 34 +++--
.../org/apache/poi/hssf/record/UnknownRecord.java | 75 ++--------
.../hssf/record/aggregates/PageSettingsBlock.java | 73 +++++-----
.../aggregates/WorksheetProtectionBlock.java | 12 +-
.../hssf/record/crypto/Biff8DecryptingStream.java | 28 ++--
.../org/apache/poi/hssf/usermodel/HSSFCell.java | 93 ++++++-------
.../apache/poi/hssf/usermodel/HSSFPictureData.java | 84 ++++-------
.../org/apache/poi/hssf/usermodel/HSSFRow.java | 18 ++-
.../org/apache/poi/hssf/usermodel/HSSFSheet.java | 35 ++---
.../org/apache/poi/sl/draw/geom/BuiltInGuide.java | 155 ++++++++++-----------
.../java/org/apache/poi/sl/draw/geom/GuideIf.java | 75 +++++-----
.../org/apache/poi/sl/draw/geom/PresetParser.java | 23 ++-
32 files changed, 499 insertions(+), 795 deletions(-)
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ContentTypes.java
b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ContentTypes.java
index 12dcdb1b12..561b59070a 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ContentTypes.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ContentTypes.java
@@ -111,22 +111,14 @@ public final class ContentTypes {
public static String getContentTypeFromFileExtension(String filename) {
String extension = filename.substring(filename.lastIndexOf('.') + 1)
.toLowerCase(Locale.ROOT);
- switch (extension) {
- case EXTENSION_JPG_1:
- case EXTENSION_JPG_2:
- return IMAGE_JPEG;
- case EXTENSION_GIF:
- return IMAGE_GIF;
- case EXTENSION_PICT:
- return IMAGE_PICT;
- case EXTENSION_PNG:
- return IMAGE_PNG;
- case EXTENSION_TIFF:
- return IMAGE_TIFF;
- case EXTENSION_XML:
- return XML;
- default:
- return null;
- }
+ return switch (extension) {
+ case EXTENSION_JPG_1, EXTENSION_JPG_2 -> IMAGE_JPEG;
+ case EXTENSION_GIF -> IMAGE_GIF;
+ case EXTENSION_PICT -> IMAGE_PICT;
+ case EXTENSION_PNG -> IMAGE_PNG;
+ case EXTENSION_TIFF -> IMAGE_TIFF;
+ case EXTENSION_XML -> XML;
+ default -> null;
+ };
}
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
b/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
index 2e6f7aa99f..9990a88d8b 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
@@ -282,12 +282,10 @@ public class SignatureInfo {
}
private static DigestOutputStream getDigestStream(final HashAlgorithm
algo, final PrivateKey key) {
- switch (algo) {
- case md2: case md5: case sha1: case sha256: case sha384: case
sha512:
- return new SignatureOutputStream(algo, key);
- default:
- return new DigestOutputStream(algo, key);
- }
+ return switch (algo) {
+ case md2, md5, sha1, sha256, sha384, sha512 -> new
SignatureOutputStream(algo, key);
+ default -> new DigestOutputStream(algo, key);
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
b/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
index 79fb4fc096..803be5411d 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
@@ -370,13 +370,6 @@ public class XAdESSignatureFacet implements SignatureFacet
{
while (cur.hasNextToken()) {
TokenType nextToken = cur.toNextToken();
switch (nextToken.intValue()) {
- default:
- case TokenType.INT_NONE:
- case TokenType.INT_STARTDOC:
- case TokenType.INT_ENDDOC:
- case TokenType.INT_PROCINST:
- // ignore
- break;
case TokenType.INT_START: {
QName name = cur.getName();
Element el =
document.createElementNS(name.getNamespaceURI(), name.getLocalPart());
@@ -411,6 +404,13 @@ public class XAdESSignatureFacet implements SignatureFacet
{
lastNode.appendChild(document.createComment(cur.getTextValue()));
break;
}
+ case TokenType.INT_NONE:
+ case TokenType.INT_STARTDOC:
+ case TokenType.INT_ENDDOC:
+ case TokenType.INT_PROCINST:
+ default:
+ // ignore
+ break;
}
}
return lastNode;
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
b/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
index 3e23a4985e..3ce40dd752 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
@@ -92,14 +92,13 @@ public class TSPTimeStampService implements
TimeStampService {
* Maps the digest algorithm to corresponding OID value.
*/
public ASN1ObjectIdentifier mapDigestAlgoToOID(HashAlgorithm digestAlgo) {
- switch (digestAlgo) {
- case sha1: return X509ObjectIdentifiers.id_SHA1;
- case sha256: return NISTObjectIdentifiers.id_sha256;
- case sha384: return NISTObjectIdentifiers.id_sha384;
- case sha512: return NISTObjectIdentifiers.id_sha512;
- default:
- throw new IllegalArgumentException("unsupported digest algo: " +
digestAlgo);
- }
+ return switch (digestAlgo) {
+ case sha1 -> X509ObjectIdentifiers.id_SHA1;
+ case sha256 -> NISTObjectIdentifiers.id_sha256;
+ case sha384 -> NISTObjectIdentifiers.id_sha384;
+ case sha512 -> NISTObjectIdentifiers.id_sha512;
+ default -> throw new IllegalArgumentException("unsupported digest
algo: " + digestAlgo);
+ };
}
@Override
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
b/poi-ooxml/src/main/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
index fba0620a07..7ed67b90a0 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
@@ -651,37 +651,23 @@ public abstract class XDDFChart extends
POIXMLDocumentPart implements TextContai
}
final CTPlotArea plotArea = getCTPlotArea();
- switch (type) {
- case AREA:
- return new XDDFAreaChartData(this, plotArea.addNewAreaChart(),
categories, mapValues);
- case AREA3D:
- return new XDDFArea3DChartData(this, plotArea.addNewArea3DChart(),
categories, mapValues);
- case BAR:
- return new XDDFBarChartData(this, plotArea.addNewBarChart(),
categories, mapValues);
- case BAR3D:
- return new XDDFBar3DChartData(this, plotArea.addNewBar3DChart(),
categories, mapValues);
- case DOUGHNUT:
- return new XDDFDoughnutChartData(this,
plotArea.addNewDoughnutChart());
- case LINE:
- return new XDDFLineChartData(this, plotArea.addNewLineChart(),
categories, mapValues);
- case LINE3D:
- return new XDDFLine3DChartData(this, plotArea.addNewLine3DChart(),
categories, mapValues);
- case PIE:
- return new XDDFPieChartData(this, plotArea.addNewPieChart());
- case PIE3D:
- return new XDDFPie3DChartData(this, plotArea.addNewPie3DChart());
- case RADAR:
- return new XDDFRadarChartData(this, plotArea.addNewRadarChart(),
categories, mapValues);
- case SCATTER:
- return new XDDFScatterChartData(this,
plotArea.addNewScatterChart(), categories, mapValues);
- case SURFACE:
- return new XDDFSurfaceChartData(this,
plotArea.addNewSurfaceChart(), categories, mapValues);
- case SURFACE3D:
- return new XDDFSurface3DChartData(this,
plotArea.addNewSurface3DChart(), categories, mapValues);
- // TODO repeat above code for missing charts: Bubble, OfPie and Stock
- default:
- return null;
- }
+ return switch (type) {
+ case AREA -> new XDDFAreaChartData(this,
plotArea.addNewAreaChart(), categories, mapValues);
+ case AREA3D -> new XDDFArea3DChartData(this,
plotArea.addNewArea3DChart(), categories, mapValues);
+ case BAR -> new XDDFBarChartData(this, plotArea.addNewBarChart(),
categories, mapValues);
+ case BAR3D -> new XDDFBar3DChartData(this,
plotArea.addNewBar3DChart(), categories, mapValues);
+ case DOUGHNUT -> new XDDFDoughnutChartData(this,
plotArea.addNewDoughnutChart());
+ case LINE -> new XDDFLineChartData(this,
plotArea.addNewLineChart(), categories, mapValues);
+ case LINE3D -> new XDDFLine3DChartData(this,
plotArea.addNewLine3DChart(), categories, mapValues);
+ case PIE -> new XDDFPieChartData(this, plotArea.addNewPieChart());
+ case PIE3D -> new XDDFPie3DChartData(this,
plotArea.addNewPie3DChart());
+ case RADAR -> new XDDFRadarChartData(this,
plotArea.addNewRadarChart(), categories, mapValues);
+ case SCATTER -> new XDDFScatterChartData(this,
plotArea.addNewScatterChart(), categories, mapValues);
+ case SURFACE -> new XDDFSurfaceChartData(this,
plotArea.addNewSurfaceChart(), categories, mapValues);
+ case SURFACE3D -> new XDDFSurface3DChartData(this,
plotArea.addNewSurface3DChart(), categories, mapValues);
+ // TODO repeat above code for missing charts: Bubble, OfPie and
Stock
+ default -> null;
+ };
}
public List<? extends XDDFChartAxis> getAxes() {
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/geom/XSLFPath.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/geom/XSLFPath.java
index 87b0e1904b..f91e5d8a81 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/geom/XSLFPath.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/geom/XSLFPath.java
@@ -111,12 +111,12 @@ public class XSLFPath implements PathIf {
@Override
public void setFill(PaintStyle.PaintModifier fill) {
STPathFillMode.Enum f = switch (fill) {
- default -> STPathFillMode.NONE;
case NORM -> STPathFillMode.NORM;
case LIGHTEN -> STPathFillMode.LIGHTEN;
case LIGHTEN_LESS -> STPathFillMode.LIGHTEN_LESS;
case DARKEN -> STPathFillMode.DARKEN;
case DARKEN_LESS -> STPathFillMode.DARKEN_LESS;
+ default -> STPathFillMode.NONE;
};
pathXml.setFill(f);
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java
index 47f94c79ac..52522ef34d 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java
@@ -126,18 +126,13 @@ public class XSLFTableCell extends XSLFTextShape
implements TableCell<XSLFShape,
return null;
}
- switch (edge) {
- case bottom:
- return (pr.isSetLnB()) ? pr.getLnB() : (create ? pr.addNewLnB() :
null);
- case left:
- return (pr.isSetLnL()) ? pr.getLnL() : (create ? pr.addNewLnL() :
null);
- case top:
- return (pr.isSetLnT()) ? pr.getLnT() : (create ? pr.addNewLnT() :
null);
- case right:
- return (pr.isSetLnR()) ? pr.getLnR() : (create ? pr.addNewLnR() :
null);
- default:
- return null;
- }
+ return switch (edge) {
+ case bottom -> (pr.isSetLnB()) ? pr.getLnB() : (create ?
pr.addNewLnB() : null);
+ case left -> (pr.isSetLnL()) ? pr.getLnL() : (create ?
pr.addNewLnL() : null);
+ case top -> (pr.isSetLnT()) ? pr.getLnT() : (create ?
pr.addNewLnT() : null);
+ case right -> (pr.isSetLnR()) ? pr.getLnR() : (create ?
pr.addNewLnR() : null);
+ default -> null;
+ };
}
public XDDFLineProperties getBorderProperties(BorderEdge edge) {
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTableStyle.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTableStyle.java
index 81ad1a6a9e..8e5e5314f8 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTableStyle.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTableStyle.java
@@ -52,34 +52,20 @@ public class XSLFTableStyle {
* @since 3.15-beta2
*/
protected CTTablePartStyle getTablePartStyle(TablePartStyle tps) {
- switch (tps) {
- default:
- case wholeTbl:
- return _tblStyle.getWholeTbl();
- case band1H:
- return _tblStyle.getBand1H();
- case band2H:
- return _tblStyle.getBand2H();
- case band1V:
- return _tblStyle.getBand1V();
- case band2V:
- return _tblStyle.getBand2V();
- case firstCol:
- return _tblStyle.getFirstCol();
- case lastCol:
- return _tblStyle.getLastCol();
- case firstRow:
- return _tblStyle.getFirstRow();
- case lastRow:
- return _tblStyle.getLastRow();
- case seCell:
- return _tblStyle.getSeCell();
- case swCell:
- return _tblStyle.getSwCell();
- case neCell:
- return _tblStyle.getNeCell();
- case nwCell:
- return _tblStyle.getNwCell();
- }
+ return switch (tps) {
+ case band1H -> _tblStyle.getBand1H();
+ case band2H -> _tblStyle.getBand2H();
+ case band1V -> _tblStyle.getBand1V();
+ case band2V -> _tblStyle.getBand2V();
+ case firstCol -> _tblStyle.getFirstCol();
+ case lastCol -> _tblStyle.getLastCol();
+ case firstRow -> _tblStyle.getFirstRow();
+ case lastRow -> _tblStyle.getLastRow();
+ case seCell -> _tblStyle.getSeCell();
+ case swCell -> _tblStyle.getSwCell();
+ case neCell -> _tblStyle.getNeCell();
+ case nwCell -> _tblStyle.getNwCell();
+ default -> _tblStyle.getWholeTbl();
+ };
}
-}
\ No newline at end of file
+}
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTX2PNG.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTX2PNG.java
index c5553b05e7..914624e889 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTX2PNG.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTX2PNG.java
@@ -378,11 +378,11 @@ public final class PPTX2PNG {
final Dimension2D pgsize = proxy.getSize();
final double lenSide = switch (fixSide) {
- default -> 1;
case "long" -> Math.max(pgsize.getWidth(), pgsize.getHeight());
case "short" -> Math.min(pgsize.getWidth(), pgsize.getHeight());
case "width" -> pgsize.getWidth();
case "height" -> pgsize.getHeight();
+ default -> 1;
};
dim.setSize(pgsize.getWidth() * scale / lenSide, pgsize.getHeight() *
scale / lenSide);
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
index 1ed7115df2..36e4ae917d 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
@@ -548,8 +548,7 @@ public class XSSFSheet extends POIXMLDocumentPart
implements Sheet, OoxmlSheetEx
// Search the referenced drawing in the list of the sheet's
relations
for (RelationPart rp : getRelationParts()){
POIXMLDocumentPart p = rp.getDocumentPart();
- if (p instanceof XSSFDrawing) {
- XSSFDrawing dr = (XSSFDrawing)p;
+ if (p instanceof XSSFDrawing dr) {
String drId = rp.getRelationship().getId();
if (drId.equals(ctDrawing.getId())){
return dr;
@@ -619,8 +618,7 @@ public class XSSFSheet extends POIXMLDocumentPart
implements Sheet, OoxmlSheetEx
final String id = ctDrawing.getId();
for (RelationPart rp : getRelationParts()){
POIXMLDocumentPart p = rp.getDocumentPart();
- if(p instanceof XSSFVMLDrawing) {
- XSSFVMLDrawing dr = (XSSFVMLDrawing)p;
+ if(p instanceof XSSFVMLDrawing dr) {
String drId = rp.getRelationship().getId();
if (drId.equals(id)) {
drawing = dr;
@@ -1259,22 +1257,15 @@ public class XSSFSheet extends POIXMLDocumentPart
implements Sheet, OoxmlSheetEx
}
CTPageMargins pageMargins = worksheet.getPageMargins();
- switch (margin) {
- case LEFT:
- return pageMargins.getLeft();
- case RIGHT:
- return pageMargins.getRight();
- case TOP:
- return pageMargins.getTop();
- case BOTTOM:
- return pageMargins.getBottom();
- case HEADER:
- return pageMargins.getHeader();
- case FOOTER:
- return pageMargins.getFooter();
- default :
- throw new IllegalArgumentException("Unknown margin constant:
" + margin);
- }
+ return switch (margin) {
+ case LEFT -> pageMargins.getLeft();
+ case RIGHT -> pageMargins.getRight();
+ case TOP -> pageMargins.getTop();
+ case BOTTOM -> pageMargins.getBottom();
+ case HEADER -> pageMargins.getHeader();
+ case FOOTER -> pageMargins.getFooter();
+ default -> throw new IllegalArgumentException("Unknown margin
constant: " + margin);
+ };
}
/**
@@ -4645,7 +4636,7 @@ public class XSSFSheet extends POIXMLDocumentPart
implements Sheet, OoxmlSheetEx
StringBuilder rng = new StringBuilder();
rng.append(c);
- if(rng.length() > 0 && !r.isEmpty()) {
+ if(!rng.isEmpty() && !r.isEmpty()) {
rng.append(',');
}
rng.append(r);
@@ -5136,41 +5127,18 @@ public class XSSFSheet extends POIXMLDocumentPart
implements Sheet, OoxmlSheetEx
final int INT_STD_DEV = 8;
final int INT_VAR = 9;
final int INT_CUSTOM = 10;
- String subtotalFormulaStart = null;
- switch (intTotalsRowFunction) {
- case INT_NONE:
- subtotalFormulaStart = null;
- break;
- case INT_SUM:
- subtotalFormulaStart = "SUBTOTAL(109";
- break;
- case INT_MIN:
- subtotalFormulaStart = "SUBTOTAL(105";
- break;
- case INT_MAX:
- subtotalFormulaStart = "SUBTOTAL(104";
- break;
- case INT_AVERAGE:
- subtotalFormulaStart = "SUBTOTAL(101";
- break;
- case INT_COUNT:
- subtotalFormulaStart = "SUBTOTAL(103";
- break;
- case INT_COUNT_NUMS:
- subtotalFormulaStart = "SUBTOTAL(102";
- break;
- case INT_STD_DEV:
- subtotalFormulaStart = "SUBTOTAL(107";
- break;
- case INT_VAR:
- subtotalFormulaStart = "SUBTOTAL(110";
- break;
- case INT_CUSTOM:
- subtotalFormulaStart = null;
- break;
- default:
- subtotalFormulaStart = null;
- }
- return subtotalFormulaStart;
+ return switch (intTotalsRowFunction) {
+ case INT_NONE -> null;
+ case INT_SUM -> "SUBTOTAL(109";
+ case INT_MIN -> "SUBTOTAL(105";
+ case INT_MAX -> "SUBTOTAL(104";
+ case INT_AVERAGE -> "SUBTOTAL(101";
+ case INT_COUNT -> "SUBTOTAL(103";
+ case INT_COUNT_NUMS -> "SUBTOTAL(102";
+ case INT_STD_DEV -> "SUBTOTAL(107";
+ case INT_VAR -> "SUBTOTAL(110";
+ case INT_CUSTOM -> null;
+ default -> null;
+ };
}
}
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
index 9fc06c8c00..6d85aaa320 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
@@ -892,17 +892,12 @@ public class XWPFRun implements ISDTContents,
IRunElement, CharacterRun {
}
CTFonts fonts = pr.getRFontsArray(0);
- switch (fcr == null ? FontCharRange.ascii : fcr) {
- default:
- case ascii:
- return fonts.getAscii();
- case cs:
- return fonts.getCs();
- case eastAsia:
- return fonts.getEastAsia();
- case hAnsi:
- return fonts.getHAnsi();
- }
+ return switch (fcr == null ? FontCharRange.ascii : fcr) {
+ case cs -> fonts.getCs();
+ case eastAsia -> fonts.getEastAsia();
+ case hAnsi -> fonts.getHAnsi();
+ default -> fonts.getAscii();
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java
b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java
index 2fdb5e339d..ffebcdacfc 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java
@@ -1276,17 +1276,12 @@ public class XWPFTable implements IBodyElement,
ISDTContents {
typeValue = STTblWidth.NIL;
ctWidth.setType(typeValue);
}
- switch (typeValue.intValue()) {
- case STTblWidth.INT_NIL:
- return TableWidthType.NIL;
- case STTblWidth.INT_DXA:
- return TableWidthType.DXA;
- case STTblWidth.INT_PCT:
- return TableWidthType.PCT;
- default:
- case STTblWidth.INT_AUTO:
- return TableWidthType.AUTO;
- }
+ return switch (typeValue.intValue()) {
+ case STTblWidth.INT_NIL -> TableWidthType.NIL;
+ case STTblWidth.INT_DXA -> TableWidthType.DXA;
+ case STTblWidth.INT_PCT -> TableWidthType.PCT;
+ default -> TableWidthType.AUTO;
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTheme.java
b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTheme.java
index a01904e835..c04b99b3fb 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTheme.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTheme.java
@@ -111,34 +111,21 @@ public class XWPFTheme extends POIXMLDocumentPart {
if (mapName == null || scheme == null) {
return null;
}
- switch (mapName) {
- case "accent1":
- return scheme.getAccent1();
- case "accent2":
- return scheme.getAccent2();
- case "accent3":
- return scheme.getAccent3();
- case "accent4":
- return scheme.getAccent4();
- case "accent5":
- return scheme.getAccent5();
- case "accent6":
- return scheme.getAccent6();
- case "dk1":
- return scheme.getDk1();
- case "dk2":
- return scheme.getDk2();
- case "folHlink":
- return scheme.getFolHlink();
- case "hlink":
- return scheme.getHlink();
- case "lt1":
- return scheme.getLt1();
- case "lt2":
- return scheme.getLt2();
- default:
- return null;
- }
+ return switch (mapName) {
+ case "accent1" -> scheme.getAccent1();
+ case "accent2" -> scheme.getAccent2();
+ case "accent3" -> scheme.getAccent3();
+ case "accent4" -> scheme.getAccent4();
+ case "accent5" -> scheme.getAccent5();
+ case "accent6" -> scheme.getAccent6();
+ case "dk1" -> scheme.getDk1();
+ case "dk2" -> scheme.getDk2();
+ case "folHlink" -> scheme.getFolHlink();
+ case "hlink" -> scheme.getHlink();
+ case "lt1" -> scheme.getLt1();
+ case "lt2" -> scheme.getLt2();
+ default -> null;
+ };
}
/**
diff --git a/poi/src/main/java/org/apache/poi/common/usermodel/PictureType.java
b/poi/src/main/java/org/apache/poi/common/usermodel/PictureType.java
index 58f3c0a00e..773a648608 100644
--- a/poi/src/main/java/org/apache/poi/common/usermodel/PictureType.java
+++ b/poi/src/main/java/org/apache/poi/common/usermodel/PictureType.java
@@ -98,28 +98,19 @@ public enum PictureType {
}
public static PictureType valueOf(FileMagic fm) {
- switch (fm) {
- case BMP:
- return PictureType.BMP;
- case GIF:
- return PictureType.GIF;
- case JPEG:
- return PictureType.JPEG;
- case PNG:
- return PictureType.PNG;
- case XML:
+ return switch (fm) {
+ case BMP -> PictureType.BMP;
+ case GIF -> PictureType.GIF;
+ case JPEG -> PictureType.JPEG;
+ case PNG -> PictureType.PNG;
+ case XML ->
// this is quite fuzzy, to suppose all XMLs are SVGs when
handling pictures ...
- return PictureType.SVG;
- case WMF:
- return PictureType.WMF;
- case EMF:
- return PictureType.EMF;
- case TIFF:
- return PictureType.TIFF;
- default:
- case UNKNOWN:
- return PictureType.UNKNOWN;
- }
+ PictureType.SVG;
+ case WMF -> PictureType.WMF;
+ case EMF -> PictureType.EMF;
+ case TIFF -> PictureType.TIFF;
+ default -> PictureType.UNKNOWN;
+ };
}
/**
diff --git
a/poi/src/main/java/org/apache/poi/common/usermodel/fonts/FontHeader.java
b/poi/src/main/java/org/apache/poi/common/usermodel/fonts/FontHeader.java
index 0204c2d597..39535eb05f 100644
--- a/poi/src/main/java/org/apache/poi/common/usermodel/fonts/FontHeader.java
+++ b/poi/src/main/java/org/apache/poi/common/usermodel/fonts/FontHeader.java
@@ -219,24 +219,19 @@ public class FontHeader implements FontInfo,
GenericRecord {
}
public FontPitch getPitch() {
- switch (getPanoseFamily()) {
- default:
- case ANY:
- case NO_FIT:
- return FontPitch.VARIABLE;
-
+ return switch (getPanoseFamily()) {
// Latin Text
- case TEXT_DISPLAY:
// Latin Decorative
- case DECORATIVE:
- return (getPanoseProportion() == PanoseProportion.MONOSPACED)
? FontPitch.FIXED : FontPitch.VARIABLE;
+ case TEXT_DISPLAY, DECORATIVE ->
+ (getPanoseProportion() == PanoseProportion.MONOSPACED) ?
FontPitch.FIXED : FontPitch.VARIABLE;
// Latin Hand Written
- case SCRIPT:
// Latin Symbol
- case PICTORIAL:
- return (getPanoseProportion() == PanoseProportion.MODERN) ?
FontPitch.FIXED : FontPitch.VARIABLE;
- }
+ case SCRIPT, PICTORIAL ->
+ (getPanoseProportion() == PanoseProportion.MODERN) ?
FontPitch.FIXED : FontPitch.VARIABLE;
+
+ default -> FontPitch.VARIABLE;
+ };
}
@@ -247,27 +242,20 @@ public class FontHeader implements FontInfo,
GenericRecord {
return FontFamily.FF_DONTCARE;
// Latin Text
case TEXT_DISPLAY:
- switch (getPanoseSerif()) {
- case TRIANGLE:
- case NORMAL_SANS:
- case OBTUSE_SANS:
- case PERP_SANS:
- case FLARED:
- case ROUNDED:
- return FontFamily.FF_SWISS;
- default:
- return FontFamily.FF_ROMAN;
- }
+ return switch (getPanoseSerif()) {
+ case TRIANGLE, NORMAL_SANS, OBTUSE_SANS, PERP_SANS,
FLARED, ROUNDED -> FontFamily.FF_SWISS;
+ default -> FontFamily.FF_ROMAN;
+ };
// Latin Hand Written
case SCRIPT:
return FontFamily.FF_SCRIPT;
- // Latin Decorative
- default:
- case DECORATIVE:
- return FontFamily.FF_DECORATIVE;
// Latin Symbol
case PICTORIAL:
return FontFamily.FF_MODERN;
+ // Latin Decorative
+ case DECORATIVE:
+ default:
+ return FontFamily.FF_DECORATIVE;
}
}
diff --git a/poi/src/main/java/org/apache/poi/hssf/model/InternalWorkbook.java
b/poi/src/main/java/org/apache/poi/hssf/model/InternalWorkbook.java
index 48549efcfd..a33f21cbae 100644
--- a/poi/src/main/java/org/apache/poi/hssf/model/InternalWorkbook.java
+++ b/poi/src/main/java/org/apache/poi/hssf/model/InternalWorkbook.java
@@ -1340,39 +1340,27 @@ public final class InternalWorkbook {
*/
private static ExtendedFormatRecord createExtendedFormat(int id) {
// we'll need multiple editions
- switch (id) {
- case 0: return createExtendedFormat(0, 0, 0xfffffff5,
0);
- case 1:
- case 2: return createExtendedFormat(1, 0, 0xfffffff5,
0xfffff400);
- case 3:
- case 4: return createExtendedFormat(2, 0, 0xfffffff5,
0xfffff400);
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14: return createExtendedFormat(0, 0, 0xfffffff5,
0xfffff400);
+ return switch (id) {
+ case 0 -> createExtendedFormat(0, 0, 0xfffffff5, 0);
+ case 1, 2 -> createExtendedFormat(1, 0, 0xfffffff5, 0xfffff400);
+ case 3, 4 -> createExtendedFormat(2, 0, 0xfffffff5, 0xfffff400);
+ case 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 -> createExtendedFormat(0,
0, 0xfffffff5, 0xfffff400);
// cell records
- case 15: return createExtendedFormat(0, 0, 1,
0);
+ case 15 -> createExtendedFormat(0, 0, 1, 0);
// style
- case 16: return createExtendedFormat(1, 0x2b, 0xfffffff5,
0xfffff800);
- case 17: return createExtendedFormat(1, 0x29, 0xfffffff5,
0xfffff800);
- case 18: return createExtendedFormat(1, 0x2c, 0xfffffff5,
0xfffff800);
- case 19: return createExtendedFormat(1, 0x2a, 0xfffffff5,
0xfffff800);
- case 20: return createExtendedFormat(1, 0x09, 0xfffffff5,
0xfffff800);
+ case 16 -> createExtendedFormat(1, 0x2b, 0xfffffff5, 0xfffff800);
+ case 17 -> createExtendedFormat(1, 0x29, 0xfffffff5, 0xfffff800);
+ case 18 -> createExtendedFormat(1, 0x2c, 0xfffffff5, 0xfffff800);
+ case 19 -> createExtendedFormat(1, 0x2a, 0xfffffff5, 0xfffff800);
+ case 20 -> createExtendedFormat(1, 0x09, 0xfffffff5, 0xfffff800);
// unused from this point down
- case 21: return createExtendedFormat(5, 0, 1,
0x800);
- case 22: return createExtendedFormat(6, 0, 1,
0x5c00);
- case 23: return createExtendedFormat(0, 0x31, 1,
0x5c00);
- case 24: return createExtendedFormat(0, 8, 1,
0x5c00);
- case 25: return createExtendedFormat(6, 8, 1,
0x5c00);
-
- default: throw new IllegalStateException("Unrecognized format id:
" + id);
- }
+ case 21 -> createExtendedFormat(5, 0, 1, 0x800);
+ case 22 -> createExtendedFormat(6, 0, 1, 0x5c00);
+ case 23 -> createExtendedFormat(0, 0x31, 1, 0x5c00);
+ case 24 -> createExtendedFormat(0, 8, 1, 0x5c00);
+ case 25 -> createExtendedFormat(6, 8, 1, 0x5c00);
+ default -> throw new IllegalStateException("Unrecognized format
id: " + id);
+ };
}
private static ExtendedFormatRecord createExtendedFormat(
diff --git a/poi/src/main/java/org/apache/poi/hssf/model/RecordOrderer.java
b/poi/src/main/java/org/apache/poi/hssf/model/RecordOrderer.java
index 6dfb9208f0..4131b1971f 100644
--- a/poi/src/main/java/org/apache/poi/hssf/model/RecordOrderer.java
+++ b/poi/src/main/java/org/apache/poi/hssf/model/RecordOrderer.java
@@ -366,8 +366,7 @@ final class RecordOrderer {
}
private static boolean isGutsPriorRecord(RecordBase rb) {
- if (rb instanceof Record) {
- Record record = (org.apache.poi.hssf.record.Record) rb;
+ if (rb instanceof Record record) {
switch (record.getSid()) {
case BOFRecord.sid:
case IndexRecord.sid:
@@ -418,22 +417,11 @@ final class RecordOrderer {
* of the sheet records
*/
public static boolean isRowBlockRecord(int sid) {
- switch (sid) {
- case RowRecord.sid:
-
- case BlankRecord.sid:
- case BoolErrRecord.sid:
- case FormulaRecord.sid:
- case LabelRecord.sid:
- case LabelSSTRecord.sid:
- case NumberRecord.sid:
- case RKRecord.sid:
-
- case ArrayRecord.sid:
- case SharedFormulaRecord.sid:
- case TableRecord.sid:
- return true;
- }
- return false;
+ return switch (sid) {
+ case RowRecord.sid, BlankRecord.sid, BoolErrRecord.sid,
FormulaRecord.sid, LabelRecord.sid,
+ LabelSSTRecord.sid, NumberRecord.sid, RKRecord.sid,
ArrayRecord.sid, SharedFormulaRecord.sid,
+ TableRecord.sid -> true;
+ default -> false;
+ };
}
}
diff --git a/poi/src/main/java/org/apache/poi/hssf/record/FilePassRecord.java
b/poi/src/main/java/org/apache/poi/hssf/record/FilePassRecord.java
index 91cfded863..dc6bb7db41 100644
--- a/poi/src/main/java/org/apache/poi/hssf/record/FilePassRecord.java
+++ b/poi/src/main/java/org/apache/poi/hssf/record/FilePassRecord.java
@@ -63,17 +63,11 @@ public final class FilePassRecord extends StandardRecord {
public FilePassRecord(RecordInputStream in) {
encryptionType = in.readUShort();
- EncryptionMode preferredMode;
- switch (encryptionType) {
- case ENCRYPTION_XOR:
- preferredMode = EncryptionMode.xor;
- break;
- case ENCRYPTION_OTHER:
- preferredMode = EncryptionMode.cryptoAPI;
- break;
- default:
- throw new EncryptedDocumentException("invalid encryption
type");
- }
+ EncryptionMode preferredMode = switch (encryptionType) {
+ case ENCRYPTION_XOR -> EncryptionMode.xor;
+ case ENCRYPTION_OTHER -> EncryptionMode.cryptoAPI;
+ default -> throw new EncryptedDocumentException("invalid
encryption type");
+ };
try {
encryptionInfo = new EncryptionInfo(in, preferredMode);
diff --git
a/poi/src/main/java/org/apache/poi/hssf/record/FormulaSpecialCachedValue.java
b/poi/src/main/java/org/apache/poi/hssf/record/FormulaSpecialCachedValue.java
index 4da28f8ba1..d6ea913474 100644
---
a/poi/src/main/java/org/apache/poi/hssf/record/FormulaSpecialCachedValue.java
+++
b/poi/src/main/java/org/apache/poi/hssf/record/FormulaSpecialCachedValue.java
@@ -101,17 +101,13 @@ public final class FormulaSpecialCachedValue implements
GenericRecord {
private String formatValue() {
int typeCode = getTypeCode();
- switch (typeCode) {
- case STRING:
- return "<string>";
- case BOOLEAN:
- return getDataValue() == 0 ? "FALSE" : "TRUE";
- case ERROR_CODE:
- return ErrorEval.getText(getDataValue());
- case EMPTY:
- return "<empty>";
- }
- return "#error(type=" + typeCode + ")#";
+ return switch (typeCode) {
+ case STRING -> "<string>";
+ case BOOLEAN -> getDataValue() == 0 ? "FALSE" : "TRUE";
+ case ERROR_CODE -> ErrorEval.getText(getDataValue());
+ case EMPTY -> "<empty>";
+ default -> "#error(type=" + typeCode + ")#";
+ };
}
private int getDataValue() {
@@ -150,16 +146,12 @@ public final class FormulaSpecialCachedValue implements
GenericRecord {
@Deprecated
public int getValueType() {
int typeCode = getTypeCode();
- switch (typeCode) {
- case EMPTY: // is this correct?
- case STRING:
- return CellType.STRING.getCode();
- case BOOLEAN:
- return CellType.BOOLEAN.getCode();
- case ERROR_CODE:
- return CellType.ERROR.getCode();
- }
- throw new IllegalStateException("Unexpected type id (" + typeCode +
")");
+ return switch (typeCode) { // is this correct?
+ case EMPTY, STRING -> CellType.STRING.getCode();
+ case BOOLEAN -> CellType.BOOLEAN.getCode();
+ case ERROR_CODE -> CellType.ERROR.getCode();
+ default -> throw new IllegalStateException("Unexpected type id ("
+ typeCode + ")");
+ };
}
/**
@@ -169,16 +161,12 @@ public final class FormulaSpecialCachedValue implements
GenericRecord {
*/
public CellType getValueTypeEnum() {
int typeCode = getTypeCode();
- switch (typeCode) {
- case EMPTY: // is this correct?
- case STRING:
- return CellType.STRING;
- case BOOLEAN:
- return CellType.BOOLEAN;
- case ERROR_CODE:
- return CellType.ERROR;
- }
- throw new IllegalStateException("Unexpected type id (" + typeCode +
")");
+ return switch (typeCode) { // is this correct?
+ case EMPTY, STRING -> CellType.STRING;
+ case BOOLEAN -> CellType.BOOLEAN;
+ case ERROR_CODE -> CellType.ERROR;
+ default -> throw new IllegalStateException("Unexpected type id ("
+ typeCode + ")");
+ };
}
public boolean getBooleanValue() {
@@ -197,17 +185,14 @@ public final class FormulaSpecialCachedValue implements
GenericRecord {
private Object getGenericValue() {
int typeCode = getTypeCode();
- switch (typeCode) {
- case EMPTY: // is this correct?
- return null;
- case STRING:
- return "string";
- case BOOLEAN:
- return getBooleanValue();
- case ERROR_CODE:
- return getErrorValue();
- }
- throw new IllegalStateException("Unexpected type id (" + typeCode +
")");
+ return switch (typeCode) {
+ case EMPTY -> // is this correct?
+ null;
+ case STRING -> "string";
+ case BOOLEAN -> getBooleanValue();
+ case ERROR_CODE -> getErrorValue();
+ default -> throw new IllegalStateException("Unexpected type id ("
+ typeCode + ")");
+ };
}
@Override
diff --git
a/poi/src/main/java/org/apache/poi/hssf/record/InterfaceEndRecord.java
b/poi/src/main/java/org/apache/poi/hssf/record/InterfaceEndRecord.java
index eabd453b4a..b3a43335ef 100644
--- a/poi/src/main/java/org/apache/poi/hssf/record/InterfaceEndRecord.java
+++ b/poi/src/main/java/org/apache/poi/hssf/record/InterfaceEndRecord.java
@@ -36,13 +36,11 @@ public final class InterfaceEndRecord extends
StandardRecord {
}
public static org.apache.poi.hssf.record.Record create(RecordInputStream
in) {
- switch (in.remaining()) {
- case 0:
- return instance;
- case 2:
- return new InterfaceHdrRecord(in);
- }
- throw new RecordFormatException("Invalid record data size: " +
in.remaining());
+ return switch (in.remaining()) {
+ case 0 -> instance;
+ case 2 -> new InterfaceHdrRecord(in);
+ default -> throw new RecordFormatException("Invalid record data
size: " + in.remaining());
+ };
}
public void serialize(LittleEndianOutput out) {
diff --git a/poi/src/main/java/org/apache/poi/hssf/record/NameRecord.java
b/poi/src/main/java/org/apache/poi/hssf/record/NameRecord.java
index 80d89f1ede..5bfe2d52ad 100644
--- a/poi/src/main/java/org/apache/poi/hssf/record/NameRecord.java
+++ b/poi/src/main/java/org/apache/poi/hssf/record/NameRecord.java
@@ -563,25 +563,23 @@ public final class NameRecord extends ContinuableRecord {
*/
private static String translateBuiltInName(byte name)
{
- switch (name)
- {
- case NameRecord.BUILTIN_AUTO_ACTIVATE : return "Auto_Activate";
- case NameRecord.BUILTIN_AUTO_CLOSE : return "Auto_Close";
- case NameRecord.BUILTIN_AUTO_DEACTIVATE : return
"Auto_Deactivate";
- case NameRecord.BUILTIN_AUTO_OPEN : return "Auto_Open";
- case NameRecord.BUILTIN_CONSOLIDATE_AREA : return
"Consolidate_Area";
- case NameRecord.BUILTIN_CRITERIA : return "Criteria";
- case NameRecord.BUILTIN_DATABASE : return "Database";
- case NameRecord.BUILTIN_DATA_FORM : return "Data_Form";
- case NameRecord.BUILTIN_PRINT_AREA : return "Print_Area";
- case NameRecord.BUILTIN_PRINT_TITLE : return "Print_Titles";
- case NameRecord.BUILTIN_RECORDER : return "Recorder";
- case NameRecord.BUILTIN_SHEET_TITLE : return "Sheet_Title";
- case NameRecord.BUILTIN_FILTER_DB : return
"_FilterDatabase";
+ return switch (name) {
+ case NameRecord.BUILTIN_AUTO_ACTIVATE -> "Auto_Activate";
+ case NameRecord.BUILTIN_AUTO_CLOSE -> "Auto_Close";
+ case NameRecord.BUILTIN_AUTO_DEACTIVATE -> "Auto_Deactivate";
+ case NameRecord.BUILTIN_AUTO_OPEN -> "Auto_Open";
+ case NameRecord.BUILTIN_CONSOLIDATE_AREA -> "Consolidate_Area";
+ case NameRecord.BUILTIN_CRITERIA -> "Criteria";
+ case NameRecord.BUILTIN_DATABASE -> "Database";
+ case NameRecord.BUILTIN_DATA_FORM -> "Data_Form";
+ case NameRecord.BUILTIN_PRINT_AREA -> "Print_Area";
+ case NameRecord.BUILTIN_PRINT_TITLE -> "Print_Titles";
+ case NameRecord.BUILTIN_RECORDER -> "Recorder";
+ case NameRecord.BUILTIN_SHEET_TITLE -> "Sheet_Title";
+ case NameRecord.BUILTIN_FILTER_DB -> "_FilterDatabase";
+ default -> "Unknown";
+ };
- }
-
- return "Unknown";
}
@Override
diff --git a/poi/src/main/java/org/apache/poi/hssf/record/UnknownRecord.java
b/poi/src/main/java/org/apache/poi/hssf/record/UnknownRecord.java
index f67002f8d9..59bcd95f7a 100644
--- a/poi/src/main/java/org/apache/poi/hssf/record/UnknownRecord.java
+++ b/poi/src/main/java/org/apache/poi/hssf/record/UnknownRecord.java
@@ -202,66 +202,21 @@ public final class UnknownRecord extends StandardRecord {
*/
private static boolean isObservedButUnknown(int sid) {
// TODO Look up more of these in the latest [MS-XLS] doc and move to
getBiffName
- switch (sid) {
- case 0x0033:
- // contains 2 bytes of data: 0x0001 or 0x0003
- case 0x0034:
- // Seems to be written by MSAccess
- // contains text "[Microsoft JET Created Table]0021010"
- // appears after last cell value record and before WINDOW2
- case 0x01BD:
- case 0x01C2:
- // Written by Excel 2007
- // rawData is multiple of 12 bytes long
- // appears after last cell value record and before WINDOW2 or
drawing records
-
- case 0x1009:
- case 0x100A:
- case 0x100B:
- case 0x100C:
- case 0x1014:
- case 0x1017:
- case 0x1018:
- case 0x1019:
- case 0x101A:
- case 0x101B:
- case 0x101D:
- case 0x101E:
- case 0x101F:
- case 0x1020:
- case 0x1021:
- case 0x1022:
- case 0x1024:
- case 0x1025:
- case 0x1026:
- case 0x1027:
- case 0x1032:
- case 0x1033:
- case 0x1034:
- case 0x1035:
- case 0x103A:
- case 0x1041:
- case 0x1043:
- case 0x1044:
- case 0x1045:
- case 0x1046:
- case 0x104A:
- case 0x104B:
- case 0x104E:
- case 0x104F:
- case 0x1051:
- case 0x105C:
- case 0x105D:
- case 0x105F:
- case 0x1060:
- case 0x1062:
- case 0x1063:
- case 0x1064:
- case 0x1065:
- case 0x1066:
- return true;
- }
- return false;
+ return switch (sid) {
+ // contains 2 bytes of data: 0x0001 or 0x0003
+ // Seems to be written by MSAccess
+ // contains text "[Microsoft JET Created Table]0021010"
+ // appears after last cell value record and before WINDOW2
+ // Written by Excel 2007
+ // rawData is multiple of 12 bytes long
+ // appears after last cell value record and before WINDOW2 or
drawing records
+
+ case 0x0033, 0x0034, 0x01BD, 0x01C2, 0x1009, 0x100A, 0x100B,
0x100C, 0x1014, 0x1017, 0x1018, 0x1019, 0x101A,
+ 0x101B, 0x101D, 0x101E, 0x101F, 0x1020, 0x1021, 0x1022,
0x1024, 0x1025, 0x1026, 0x1027, 0x1032, 0x1033,
+ 0x1034, 0x1035, 0x103A, 0x1041, 0x1043, 0x1044, 0x1045,
0x1046, 0x104A, 0x104B, 0x104E, 0x104F, 0x1051,
+ 0x105C, 0x105D, 0x105F, 0x1060, 0x1062, 0x1063, 0x1064,
0x1065, 0x1066 -> true;
+ default -> false;
+ };
}
@Override
diff --git
a/poi/src/main/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java
b/poi/src/main/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java
index 623a9cac73..3b2a71cdbc 100644
---
a/poi/src/main/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java
+++
b/poi/src/main/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java
@@ -126,25 +126,15 @@ public final class PageSettingsBlock extends
RecordAggregate {
* 'Page Settings Block'.
*/
public static boolean isComponentRecord(int sid) {
- switch (sid) {
- case HorizontalPageBreakRecord.sid:
- case VerticalPageBreakRecord.sid:
- case HeaderRecord.sid:
- case FooterRecord.sid:
- case HCenterRecord.sid:
- case VCenterRecord.sid:
- case LeftMarginRecord.sid:
- case RightMarginRecord.sid:
- case TopMarginRecord.sid:
- case BottomMarginRecord.sid:
- case UnknownRecord.PLS_004D:
- case PrintSetupRecord.sid:
- case UnknownRecord.BITMAP_00E9:
- case UnknownRecord.PRINTSIZE_0033:
- case HeaderFooterRecord.sid: // extra header/footer settings
supported by Excel 2007
- return true;
- }
- return false;
+ return switch (sid) {
+ case HorizontalPageBreakRecord.sid, VerticalPageBreakRecord.sid,
HeaderRecord.sid, FooterRecord.sid,
+ HCenterRecord.sid, VCenterRecord.sid, LeftMarginRecord.sid,
RightMarginRecord.sid, TopMarginRecord.sid,
+ BottomMarginRecord.sid, UnknownRecord.PLS_004D,
PrintSetupRecord.sid, UnknownRecord.BITMAP_00E9,
+ UnknownRecord.PRINTSIZE_0033,
+ HeaderFooterRecord.sid -> // extra header/footer settings
supported by Excel 2007
+ true;
+ default -> false;
+ };
}
private boolean readARecord(RecordStream rs) {
@@ -411,13 +401,13 @@ public final class PageSettingsBlock extends
RecordAggregate {
private Margin getMarginRec(int marginIndex) {
- switch (marginIndex) {
- case InternalSheet.LeftMargin: return _leftMargin;
- case InternalSheet.RightMargin: return _rightMargin;
- case InternalSheet.TopMargin: return _topMargin;
- case InternalSheet.BottomMargin: return _bottomMargin;
- }
- throw new IllegalArgumentException( "Unknown margin constant: " +
marginIndex );
+ return switch (marginIndex) {
+ case InternalSheet.LeftMargin -> _leftMargin;
+ case InternalSheet.RightMargin -> _rightMargin;
+ case InternalSheet.TopMargin -> _topMargin;
+ case InternalSheet.BottomMargin -> _bottomMargin;
+ default -> throw new IllegalArgumentException("Unknown margin
constant: " + marginIndex);
+ };
}
@@ -448,26 +438,25 @@ public final class PageSettingsBlock extends
RecordAggregate {
public void setMargin(short margin, double size) {
Margin m = getMarginRec(margin);
if (m == null) {
- switch (margin) {
- case InternalSheet.LeftMargin:
+ m = switch (margin) {
+ case InternalSheet.LeftMargin -> {
_leftMargin = new LeftMarginRecord();
- m = _leftMargin;
- break;
- case InternalSheet.RightMargin:
+ yield _leftMargin;
+ }
+ case InternalSheet.RightMargin -> {
_rightMargin = new RightMarginRecord();
- m = _rightMargin;
- break;
- case InternalSheet.TopMargin:
+ yield _rightMargin;
+ }
+ case InternalSheet.TopMargin -> {
_topMargin = new TopMarginRecord();
- m = _topMargin;
- break;
- case InternalSheet.BottomMargin:
+ yield _topMargin;
+ }
+ case InternalSheet.BottomMargin -> {
_bottomMargin = new BottomMarginRecord();
- m = _bottomMargin;
- break;
- default :
- throw new IllegalArgumentException( "Unknown margin
constant: " + margin );
- }
+ yield _bottomMargin;
+ }
+ default -> throw new IllegalArgumentException("Unknown margin
constant: " + margin);
+ };
}
m.setMargin( size );
}
diff --git
a/poi/src/main/java/org/apache/poi/hssf/record/aggregates/WorksheetProtectionBlock.java
b/poi/src/main/java/org/apache/poi/hssf/record/aggregates/WorksheetProtectionBlock.java
index da74baaf57..5215be306d 100644
---
a/poi/src/main/java/org/apache/poi/hssf/record/aggregates/WorksheetProtectionBlock.java
+++
b/poi/src/main/java/org/apache/poi/hssf/record/aggregates/WorksheetProtectionBlock.java
@@ -52,14 +52,10 @@ public final class WorksheetProtectionBlock extends
RecordAggregate {
* the 'Page Settings Block'.
*/
public static boolean isComponentRecord(int sid) {
- switch (sid) {
- case ProtectRecord.sid:
- case ObjectProtectRecord.sid:
- case ScenarioProtectRecord.sid:
- case PasswordRecord.sid:
- return true;
- }
- return false;
+ return switch (sid) {
+ case ProtectRecord.sid, ObjectProtectRecord.sid,
ScenarioProtectRecord.sid, PasswordRecord.sid -> true;
+ default -> false;
+ };
}
private boolean readARecord(RecordStream rs) {
diff --git
a/poi/src/main/java/org/apache/poi/hssf/record/crypto/Biff8DecryptingStream.java
b/poi/src/main/java/org/apache/poi/hssf/record/crypto/Biff8DecryptingStream.java
index 112d02c0e9..567e75f189 100644
---
a/poi/src/main/java/org/apache/poi/hssf/record/crypto/Biff8DecryptingStream.java
+++
b/poi/src/main/java/org/apache/poi/hssf/record/crypto/Biff8DecryptingStream.java
@@ -180,27 +180,23 @@ public final class Biff8DecryptingStream implements
BiffHeaderInput, LittleEndia
* @return {@code true} if record type specified by {@code sid} is never
encrypted
*/
public static boolean isNeverEncryptedRecord(int sid) {
- switch (sid) {
- case BOFRecord.sid:
- // sheet BOFs for sure
- // TODO - find out about chart BOFs
+ return switch (sid) {
+ // sheet BOFs for sure
+ // TODO - find out about chart BOFs
- case InterfaceHdrRecord.sid:
- // don't know why this record doesn't seem to get encrypted
+ // don't know why this record doesn't seem to get encrypted
- case FilePassRecord.sid:
+ case BOFRecord.sid, InterfaceHdrRecord.sid, FilePassRecord.sid ->
// this only really counts when writing because FILEPASS is
read early
- // UsrExcl(0x0194)
- // FileLock
- // RRDInfo(0x0196)
- // RRDHead(0x0138)
+ // UsrExcl(0x0194)
+ // FileLock
+ // RRDInfo(0x0196)
+ // RRDHead(0x0138)
- return true;
-
- default:
- return false;
- }
+ true;
+ default -> false;
+ };
}
@Override
diff --git a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCell.java
b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCell.java
index 7f205de8a2..760f182f84 100644
--- a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCell.java
+++ b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCell.java
@@ -206,19 +206,19 @@ public class HSSFCell extends CellBase {
}
// all others are plain BIFF records
Record record = ( Record ) cval;
- switch (record.getSid()) {
-
- case NumberRecord.sid : return CellType.NUMERIC;
- case BlankRecord.sid : return CellType.BLANK;
- case LabelSSTRecord.sid : return CellType.STRING;
- case BoolErrRecord.sid :
- BoolErrRecord boolErrRecord = ( BoolErrRecord ) record;
-
- return boolErrRecord.isBoolean()
- ? CellType.BOOLEAN
- : CellType.ERROR;
- }
- throw new IllegalStateException("Bad cell value rec (" +
cval.getClass().getName() + ")");
+ return switch (record.getSid()) {
+ case NumberRecord.sid -> CellType.NUMERIC;
+ case BlankRecord.sid -> CellType.BLANK;
+ case LabelSSTRecord.sid -> CellType.STRING;
+ case BoolErrRecord.sid -> {
+ BoolErrRecord boolErrRecord = (BoolErrRecord) record;
+
+ yield boolErrRecord.isBoolean()
+ ? CellType.BOOLEAN
+ : CellType.ERROR;
+ }
+ default -> throw new IllegalStateException("Bad cell value rec ("
+ cval.getClass().getName() + ")");
+ };
}
/**
@@ -552,18 +552,13 @@ public class HSSFCell extends CellBase {
private CellValue readValue() {
final CellType valueType = getCellType() == CellType.FORMULA ?
getCachedFormulaResultType() : getCellType();
- switch (valueType) {
- case NUMERIC:
- return new CellValue(getNumericCellValue());
- case STRING:
- return new CellValue(getStringCellValue());
- case BOOLEAN:
- return CellValue.valueOf(getBooleanCellValue());
- case ERROR:
- return CellValue.getError(getErrorCellValue());
- default:
- throw new IllegalStateException("Unexpected cell-type " +
valueType);
- }
+ return switch (valueType) {
+ case NUMERIC -> new CellValue(getNumericCellValue());
+ case STRING -> new CellValue(getStringCellValue());
+ case BOOLEAN -> CellValue.valueOf(getBooleanCellValue());
+ case ERROR -> CellValue.getError(getErrorCellValue());
+ default -> throw new IllegalStateException("Unexpected cell-type "
+ valueType);
+ };
}
private void restoreValue(CellValue value) {
@@ -885,18 +880,13 @@ public class HSSFCell extends CellBase {
}
FormulaRecordAggregate fra = ((FormulaRecordAggregate)_record);
FormulaRecord fr = fra.getFormulaRecord();
- switch (fr.getCachedResultType()) {
- case BOOLEAN:
- return fr.getCachedBooleanValue() ? "TRUE" : "FALSE";
- case STRING:
- return fra.getStringValue();
- case NUMERIC:
- return NumberToTextConverter.toText(fr.getValue());
- case ERROR:
- return
FormulaError.forInt(fr.getCachedErrorValue()).getString();
- default:
- throw new IllegalStateException("Unexpected formula result
type (" + _cellType + ")");
- }
+ return switch (fr.getCachedResultType()) {
+ case BOOLEAN -> fr.getCachedBooleanValue() ? "TRUE" : "FALSE";
+ case STRING -> fra.getStringValue();
+ case NUMERIC -> NumberToTextConverter.toText(fr.getValue());
+ case ERROR ->
FormulaError.forInt(fr.getCachedErrorValue()).getString();
+ default -> throw new IllegalStateException("Unexpected formula
result type (" + _cellType + ")");
+ };
}
@@ -1049,27 +1039,22 @@ public class HSSFCell extends CellBase {
* Errors are displayed as #ERR<errIdx>
*/
public String toString() {
- switch (getCellType()) {
- case BLANK:
- return "";
- case BOOLEAN:
- return getBooleanCellValue() ? "TRUE" : "FALSE";
- case ERROR:
- return ErrorEval.getText((( BoolErrRecord )
_record).getErrorValue());
- case FORMULA:
- return getCellFormula();
- case NUMERIC:
+ return switch (getCellType()) {
+ case BLANK -> "";
+ case BOOLEAN -> getBooleanCellValue() ? "TRUE" : "FALSE";
+ case ERROR -> ErrorEval.getText(((BoolErrRecord)
_record).getErrorValue());
+ case FORMULA -> getCellFormula();
+ case NUMERIC -> {
if (DateUtil.isCellDateFormatted(this)) {
DataFormatter df = new DataFormatter();
df.setUseCachedValuesForFormulaCells(true);
- return df.formatCellValue(this);
+ yield df.formatCellValue(this);
}
- return Double.toString(getNumericCellValue());
- case STRING:
- return getRichStringCellValue().toString();
- default:
- return "Unknown Cell Type: " + getCellType();
- }
+ yield Double.toString(getNumericCellValue());
+ }
+ case STRING -> getRichStringCellValue().toString();
+ default -> "Unknown Cell Type: " + getCellType();
+ };
}
/**
diff --git
a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFPictureData.java
b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFPictureData.java
index 702d3602e2..22dfdfe955 100644
--- a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFPictureData.java
+++ b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFPictureData.java
@@ -82,46 +82,30 @@ public class HSSFPictureData implements PictureData
*/
@Override
public String suggestFileExtension() {
- switch (EscherRecordTypes.forTypeID(blip.getRecordId())) {
- case BLIP_WMF:
- return "wmf";
- case BLIP_EMF:
- return "emf";
- case BLIP_PICT:
- return "pict";
- case BLIP_PNG:
- return "png";
- case BLIP_JPEG:
- return "jpeg";
- case BLIP_DIB:
- return "dib";
- case BLIP_TIFF:
- return "tif";
- default:
- return "";
- }
+ return switch (EscherRecordTypes.forTypeID(blip.getRecordId())) {
+ case BLIP_WMF -> "wmf";
+ case BLIP_EMF -> "emf";
+ case BLIP_PICT -> "pict";
+ case BLIP_PNG -> "png";
+ case BLIP_JPEG -> "jpeg";
+ case BLIP_DIB -> "dib";
+ case BLIP_TIFF -> "tif";
+ default -> "";
+ };
}
@Override
public String getMimeType() {
- switch (EscherRecordTypes.forTypeID(blip.getRecordId())) {
- case BLIP_WMF:
- return "image/x-wmf";
- case BLIP_EMF:
- return "image/x-emf";
- case BLIP_PICT:
- return "image/x-pict";
- case BLIP_PNG:
- return "image/png";
- case BLIP_JPEG:
- return "image/jpeg";
- case BLIP_DIB:
- return "image/bmp";
- case BLIP_TIFF:
- return "image/tiff";
- default:
- return "image/unknown";
- }
+ return switch (EscherRecordTypes.forTypeID(blip.getRecordId())) {
+ case BLIP_WMF -> "image/x-wmf";
+ case BLIP_EMF -> "image/x-emf";
+ case BLIP_PICT -> "image/x-pict";
+ case BLIP_PNG -> "image/png";
+ case BLIP_JPEG -> "image/jpeg";
+ case BLIP_DIB -> "image/bmp";
+ case BLIP_TIFF -> "image/tiff";
+ default -> "image/unknown";
+ };
}
/**
@@ -130,23 +114,15 @@ public class HSSFPictureData implements PictureData
*/
@Override
public int getPictureType() {
- switch (EscherRecordTypes.forTypeID(blip.getRecordId())) {
- case BLIP_WMF:
- return Workbook.PICTURE_TYPE_WMF;
- case BLIP_EMF:
- return Workbook.PICTURE_TYPE_EMF;
- case BLIP_PICT:
- return Workbook.PICTURE_TYPE_PICT;
- case BLIP_PNG:
- return Workbook.PICTURE_TYPE_PNG;
- case BLIP_JPEG:
- return Workbook.PICTURE_TYPE_JPEG;
- case BLIP_DIB:
- return Workbook.PICTURE_TYPE_DIB;
- case BLIP_TIFF:
- // not another int constant ...
- default:
- return 0;
- }
+ return switch (EscherRecordTypes.forTypeID(blip.getRecordId())) {
+ case BLIP_WMF -> Workbook.PICTURE_TYPE_WMF;
+ case BLIP_EMF -> Workbook.PICTURE_TYPE_EMF;
+ case BLIP_PICT -> Workbook.PICTURE_TYPE_PICT;
+ case BLIP_PNG -> Workbook.PICTURE_TYPE_PNG;
+ case BLIP_JPEG -> Workbook.PICTURE_TYPE_JPEG;
+ case BLIP_DIB -> Workbook.PICTURE_TYPE_DIB;
+ // not another int constant ...
+ default -> 0;
+ };
}
}
diff --git a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFRow.java
b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFRow.java
index ad1ba4fe2d..ae6e04b931 100644
--- a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFRow.java
+++ b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFRow.java
@@ -378,17 +378,15 @@ public final class HSSFRow implements Row,
Comparable<HSSFRow> {
@Override
public HSSFCell getCell(int cellnum, MissingCellPolicy policy) {
HSSFCell cell = retrieveCell(cellnum);
- switch (policy) {
- case RETURN_NULL_AND_BLANK:
- return cell;
- case RETURN_BLANK_AS_NULL:
+ return switch (policy) {
+ case RETURN_NULL_AND_BLANK -> cell;
+ case RETURN_BLANK_AS_NULL -> {
boolean isBlank = (cell != null && cell.getCellType() ==
CellType.BLANK);
- return (isBlank) ? null : cell;
- case CREATE_NULL_AS_BLANK:
- return (cell == null) ? createCell(cellnum, CellType.BLANK) :
cell;
- default:
- throw new IllegalArgumentException("Illegal policy " + policy);
- }
+ yield (isBlank) ? null : cell;
+ }
+ case CREATE_NULL_AS_BLANK -> (cell == null) ? createCell(cellnum,
CellType.BLANK) : cell;
+ default -> throw new IllegalArgumentException("Illegal policy " +
policy);
+ };
}
/**
diff --git a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
index f6310ceb2d..bd874b585f 100644
--- a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
+++ b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
@@ -1329,14 +1329,11 @@ public final class HSSFSheet implements Sheet {
*/
@Override
public double getMargin(PageMargin margin) {
- switch (margin) {
- case FOOTER:
- return
_sheet.getPageSettings().getPrintSetup().getFooterMargin();
- case HEADER:
- return
_sheet.getPageSettings().getPrintSetup().getHeaderMargin();
- default:
- return
_sheet.getPageSettings().getMargin(margin.getLegacyApiValue());
- }
+ return switch (margin) {
+ case FOOTER ->
_sheet.getPageSettings().getPrintSetup().getFooterMargin();
+ case HEADER ->
_sheet.getPageSettings().getPrintSetup().getHeaderMargin();
+ default ->
_sheet.getPageSettings().getMargin(margin.getLegacyApiValue());
+ };
}
/**
@@ -1902,22 +1899,12 @@ public final class HSSFSheet implements Sheet {
*/
@Override
public void createSplitPane(int xSplitPos, int ySplitPos, int
leftmostColumn, int topRow, PaneType activePane) {
- byte activePaneByte;
- switch (activePane) {
- case LOWER_RIGHT:
- activePaneByte = Sheet.PANE_LOWER_RIGHT;
- break;
- case UPPER_RIGHT:
- activePaneByte = Sheet.PANE_UPPER_RIGHT;
- break;
- case LOWER_LEFT:
- activePaneByte = Sheet.PANE_LOWER_LEFT;
- break;
- case UPPER_LEFT:
- default:
- activePaneByte = Sheet.PANE_UPPER_LEFT;
- break;
- }
+ byte activePaneByte = switch (activePane) {
+ case LOWER_RIGHT -> Sheet.PANE_LOWER_RIGHT;
+ case UPPER_RIGHT -> Sheet.PANE_UPPER_RIGHT;
+ case LOWER_LEFT -> Sheet.PANE_LOWER_LEFT;
+ default -> Sheet.PANE_UPPER_LEFT;
+ };
getSheet().createSplitPane(xSplitPos, ySplitPos, topRow,
leftmostColumn, activePaneByte);
}
diff --git a/poi/src/main/java/org/apache/poi/sl/draw/geom/BuiltInGuide.java
b/poi/src/main/java/org/apache/poi/sl/draw/geom/BuiltInGuide.java
index 63501a985c..17b9d2282f 100644
--- a/poi/src/main/java/org/apache/poi/sl/draw/geom/BuiltInGuide.java
+++ b/poi/src/main/java/org/apache/poi/sl/draw/geom/BuiltInGuide.java
@@ -34,120 +34,119 @@ import java.awt.geom.Rectangle2D;
public double evaluate(Context ctx) {
Rectangle2D anchor = ctx.getShapeAnchor();
double height = anchor.getHeight(), width = anchor.getWidth(), ss =
Math.min(width, height);
- switch (this) {
- case _3cd4:
+ return switch (this) {
+ case _3cd4 ->
// 3 circles div 4: 3 x 360 / 4 = 270
- return 270 * OOXML_DEGREE;
- case _3cd8:
+ 270 * OOXML_DEGREE;
+ case _3cd8 ->
// 3 circles div 8: 3 x 360 / 8 = 135
- return 135 * OOXML_DEGREE;
- case _5cd8:
+ 135 * OOXML_DEGREE;
+ case _5cd8 ->
// 5 circles div 8: 5 x 360 / 8 = 225
- return 225 * OOXML_DEGREE;
- case _7cd8:
+ 225 * OOXML_DEGREE;
+ case _7cd8 ->
// 7 circles div 8: 7 x 360 / 8 = 315
- return 315 * OOXML_DEGREE;
- case _t:
+ 315 * OOXML_DEGREE;
+ case _t ->
// top
- return anchor.getY();
- case _b:
+ anchor.getY();
+ case _b ->
// bottom
- return anchor.getMaxY();
- case _l:
+ anchor.getMaxY();
+ case _l ->
// left
- return anchor.getX();
- case _r:
+ anchor.getX();
+ case _r ->
// right
- return anchor.getMaxX();
- case _cd2:
+ anchor.getMaxX();
+ case _cd2 ->
// circle div 2: 360 / 2 = 180
- return 180 * OOXML_DEGREE;
- case _cd4:
+ 180 * OOXML_DEGREE;
+ case _cd4 ->
// circle div 4: 360 / 4 = 90
- return 90 * OOXML_DEGREE;
- case _cd8:
+ 90 * OOXML_DEGREE;
+ case _cd8 ->
// circle div 8: 360 / 8 = 45
- return 45 * OOXML_DEGREE;
- case _hc:
+ 45 * OOXML_DEGREE;
+ case _hc ->
// horizontal center
- return anchor.getCenterX();
- case _h:
+ anchor.getCenterX();
+ case _h ->
// height
- return height;
- case _hd2:
+ height;
+ case _hd2 ->
// height div 2
- return height / 2.;
- case _hd3:
+ height / 2.;
+ case _hd3 ->
// height div 3
- return height / 3.;
- case _hd4:
+ height / 3.;
+ case _hd4 ->
// height div 4
- return height / 4.;
- case _hd5:
+ height / 4.;
+ case _hd5 ->
// height div 5
- return height / 5.;
- case _hd6:
+ height / 5.;
+ case _hd6 ->
// height div 6
- return height / 6.;
- case _hd8:
+ height / 6.;
+ case _hd8 ->
// height div 8
- return height / 8.;
- case _ls:
+ height / 8.;
+ case _ls ->
// long side
- return Math.max(width, height);
- case _ss:
+ Math.max(width, height);
+ case _ss ->
// short side
- return ss;
- case _ssd2:
+ ss;
+ case _ssd2 ->
// short side div 2
- return ss / 2.;
- case _ssd4:
+ ss / 2.;
+ case _ssd4 ->
// short side div 4
- return ss / 4.;
- case _ssd6:
+ ss / 4.;
+ case _ssd6 ->
// short side div 6
- return ss / 6.;
- case _ssd8:
+ ss / 6.;
+ case _ssd8 ->
// short side div 8
- return ss / 8.;
- case _ssd16:
+ ss / 8.;
+ case _ssd16 ->
// short side div 16
- return ss / 16.;
- case _ssd32:
+ ss / 16.;
+ case _ssd32 ->
// short side div 32
- return ss / 32.;
- case _vc:
+ ss / 32.;
+ case _vc ->
// vertical center
- return anchor.getCenterY();
- case _w:
+ anchor.getCenterY();
+ case _w ->
// width
- return width;
- case _wd2:
+ width;
+ case _wd2 ->
// width div 2
- return width / 2.;
- case _wd3:
+ width / 2.;
+ case _wd3 ->
// width div 3
- return width / 3.;
- case _wd4:
+ width / 3.;
+ case _wd4 ->
// width div 4
- return width / 4.;
- case _wd5:
+ width / 4.;
+ case _wd5 ->
// width div 5
- return width / 5.;
- case _wd6:
+ width / 5.;
+ case _wd6 ->
// width div 6
- return width / 6.;
- case _wd8:
+ width / 6.;
+ case _wd8 ->
// width div 8
- return width / 8.;
- case _wd10:
+ width / 8.;
+ case _wd10 ->
// width div 10
- return width / 10.;
- case _wd32:
+ width / 10.;
+ case _wd32 ->
// width div 32
- return width / 32.;
- default:
- return 0;
- }
+ width / 32.;
+ default -> 0;
+ };
}
}
\ No newline at end of file
diff --git a/poi/src/main/java/org/apache/poi/sl/draw/geom/GuideIf.java
b/poi/src/main/java/org/apache/poi/sl/draw/geom/GuideIf.java
index ff0e58d351..1b7d03b133 100644
--- a/poi/src/main/java/org/apache/poi/sl/draw/geom/GuideIf.java
+++ b/poi/src/main/java/org/apache/poi/sl/draw/geom/GuideIf.java
@@ -57,63 +57,62 @@ public interface GuideIf extends Formula {
double x = (operands.length > 1) ? ctx.getValue(operands[1]) : 0;
double y = (operands.length > 2) ? ctx.getValue(operands[2]) : 0;
double z = (operands.length > 3) ? ctx.getValue(operands[3]) : 0;
- switch (op) {
- case abs:
+ return switch (op) {
+ case abs ->
// Absolute Value Formula
- return abs(x);
- case adddiv:
+ abs(x);
+ case adddiv ->
// Add Divide Formula
- return (z == 0) ? 0 : (x + y) / z;
- case addsub:
+ (z == 0) ? 0 : (x + y) / z;
+ case addsub ->
// Add Subtract Formula
- return (x + y) - z;
- case at2:
+ (x + y) - z;
+ case at2 ->
// ArcTan Formula: "at2 x y" = arctan( y / z ) = value of this
guide
- return toDegrees(atan2(y, x)) * OOXML_DEGREE;
- case cos:
+ toDegrees(atan2(y, x)) * OOXML_DEGREE;
+ case cos ->
// Cosine Formula: "cos x y" = (x * cos( y )) = value of this
guide
- return x * cos(toRadians(y / OOXML_DEGREE));
- case cat2:
+ x * cos(toRadians(y / OOXML_DEGREE));
+ case cat2 ->
// Cosine ArcTan Formula: "cat2 x y z" = (x * cos(arctan(z /
y) )) = value of this guide
- return x * cos(atan2(z, y));
- case ifelse:
+ x * cos(atan2(z, y));
+ case ifelse ->
// If Else Formula: "?: x y z" = if (x > 0), then y = value of
this guide,
// else z = value of this guide
- return x > 0 ? y : z;
- case val:
+ x > 0 ? y : z;
+ case val ->
// Literal Value Expression
- return x;
- case max:
+ x;
+ case max ->
// Maximum Value Formula
- return max(x, y);
- case min:
+ max(x, y);
+ case min ->
// Minimum Value Formula
- return min(x, y);
- case mod:
+ min(x, y);
+ case mod ->
// Modulo Formula: "mod x y z" = sqrt(x^2 + b^2 + c^2) = value
of this guide
- return sqrt(x*x + y*y + z*z);
- case muldiv:
+ sqrt(x * x + y * y + z * z);
+ case muldiv ->
// Multiply Divide Formula
- return (z == 0) ? 0 : (x * y) / z;
- case pin:
+ (z == 0) ? 0 : (x * y) / z;
+ case pin ->
// Pin To Formula: "pin x y z" = if (y < x), then x = value of
this guide
// else if (y > z), then z = value of this guide
// else y = value of this guide
- return max(x, min(y, z));
- case sat2:
+ max(x, min(y, z));
+ case sat2 ->
// Sine ArcTan Formula: "sat2 x y z" = (x*sin(arctan(z / y)))
= value of this guide
- return x * sin(atan2(z, y));
- case sin:
+ x * sin(atan2(z, y));
+ case sin ->
// Sine Formula: "sin x y" = (x * sin( y )) = value of this
guide
- return x * sin(toRadians(y / OOXML_DEGREE));
- case sqrt:
+ x * sin(toRadians(y / OOXML_DEGREE));
+ case sqrt ->
// Square Root Formula: "sqrt x" = sqrt(x) = value of this
guide
- return sqrt(x);
- case tan:
+ sqrt(x);
+ case tan ->
// Tangent Formula: "tan x y" = (x * tan( y )) = value of this
guide
- return x * tan(toRadians(y / OOXML_DEGREE));
- default:
- return 0;
- }
+ x * tan(toRadians(y / OOXML_DEGREE));
+ default -> 0;
+ };
}
}
diff --git a/poi/src/main/java/org/apache/poi/sl/draw/geom/PresetParser.java
b/poi/src/main/java/org/apache/poi/sl/draw/geom/PresetParser.java
index 424e8aa011..9252596bbd 100644
--- a/poi/src/main/java/org/apache/poi/sl/draw/geom/PresetParser.java
+++ b/poi/src/main/java/org/apache/poi/sl/draw/geom/PresetParser.java
@@ -283,21 +283,14 @@ class PresetParser {
}
private static PaintModifier mapFill(String fill) {
- switch (fill) {
- default:
- case "none":
- return PaintModifier.NONE;
- case "norm":
- return PaintModifier.NORM;
- case "lighten":
- return PaintModifier.LIGHTEN;
- case "lightenLess":
- return PaintModifier.LIGHTEN_LESS;
- case "darken":
- return PaintModifier.DARKEN;
- case "darkenLess":
- return PaintModifier.DARKEN_LESS;
- }
+ return switch (fill) {
+ default -> PaintModifier.NONE;
+ case "norm" -> PaintModifier.NORM;
+ case "lighten" -> PaintModifier.LIGHTEN;
+ case "lightenLess" -> PaintModifier.LIGHTEN_LESS;
+ case "darken" -> PaintModifier.DARKEN;
+ case "darkenLess" -> PaintModifier.DARKEN_LESS;
+ };
}
private void updatePath(XMLStreamReader sr) throws XMLStreamException {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]