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 bcd3261e8d use java 17 code enhancements (#1140)
bcd3261e8d is described below
commit bcd3261e8d579649f48260316092abc4d6eca827
Author: PJ Fanning <[email protected]>
AuthorDate: Fri Jun 12 14:57:03 2026 +0100
use java 17 code enhancements (#1140)
Update SlideShowExtractor.java
Update SlideShowExtractor.java
java17
---
.../org/apache/poi/xdgf/usermodel/XDGFShape.java | 21 ++----
.../apache/poi/xslf/draw/SVGRenderExtension.java | 18 ++---
.../org/apache/poi/xslf/draw/geom/XSLFPath.java | 53 +++++---------
.../poi/xslf/model/ParagraphPropertyFetcher.java | 34 ++++-----
.../org/apache/poi/xslf/usermodel/XSLFColor.java | 13 ++--
.../poi/xslf/usermodel/XSLFGraphicFrame.java | 16 ++---
.../apache/poi/xslf/usermodel/XSLFPictureData.java | 32 ++++-----
.../poi/xslf/usermodel/XSLFPlaceholderDetails.java | 35 ++++-----
.../org/apache/poi/xslf/usermodel/XSLFShape.java | 17 ++---
.../apache/poi/xslf/usermodel/XSLFSimpleShape.java | 46 ++++--------
.../apache/poi/xslf/usermodel/XSLFSlideMaster.java | 18 ++---
.../apache/poi/xslf/usermodel/XSLFTableCell.java | 44 ++++--------
.../poi/xslf/usermodel/XSLFTextParagraph.java | 14 ++--
.../org/apache/poi/xslf/usermodel/XSLFTextRun.java | 26 +++----
.../apache/poi/xslf/usermodel/XSLFTextShape.java | 53 ++++++--------
.../poi/xslf/usermodel/XSLFTexturePaint.java | 17 ++---
.../org/apache/poi/xslf/usermodel/XSLFTheme.java | 43 ++++-------
.../org/apache/poi/xslf/util/BitmapFormat.java | 14 ++--
.../java/org/apache/poi/xslf/util/PPTX2PNG.java | 42 ++++-------
.../xssf/eventusermodel/XSSFSheetXMLHandler.java | 2 +-
.../org/apache/poi/xssf/streaming/SXSSFCell.java | 84 ++++++++++------------
.../org/apache/poi/xssf/streaming/SXSSFRow.java | 18 +++--
.../org/apache/poi/xssf/usermodel/XSSFCell.java | 55 ++++++--------
.../org/apache/poi/xssf/usermodel/XSSFDrawing.java | 20 ++----
.../org/apache/poi/xssf/usermodel/XSSFFont.java | 16 ++---
.../org/apache/poi/xssf/usermodel/XSSFRow.java | 18 +++--
.../org/apache/poi/xssf/usermodel/XSSFSheet.java | 22 ++----
.../usermodel/XSSFSheetConditionalFormatting.java | 23 +++---
.../poi/xssf/usermodel/XSSFSignatureLine.java | 40 ++++-------
.../apache/poi/xwpf/usermodel/XWPFSettings.java | 51 +++++++------
.../poi/xwpf/usermodel/XWPFSignatureLine.java | 43 ++++-------
31 files changed, 354 insertions(+), 594 deletions(-)
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XDGFShape.java
b/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XDGFShape.java
index 02f05ad1c5..1c3d4bcc8b 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XDGFShape.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XDGFShape.java
@@ -392,7 +392,7 @@ public class XDGFShape extends XDGFSheet {
}
public boolean isDeleted() {
- return getXmlObject().isSetDel() ? getXmlObject().getDel() : false;
+ return getXmlObject().isSetDel() && getXmlObject().getDel();
}
public XDGFText getText() {
@@ -725,19 +725,12 @@ public class XDGFShape extends XDGFSheet {
int cap;
int join = BasicStroke.JOIN_MITER;
- switch (getLineCap()) {
- case 0:
- cap = BasicStroke.CAP_ROUND;
- break;
- case 1:
- cap = BasicStroke.CAP_SQUARE;
- break;
- case 2:
- cap = BasicStroke.CAP_BUTT; // TODO: what does extended mean?
- break;
- default:
- throw new POIXMLException("Invalid line cap specified");
- }
+ cap = switch (getLineCap()) {
+ case 0 -> BasicStroke.CAP_ROUND;
+ case 1 -> BasicStroke.CAP_SQUARE;
+ case 2 -> BasicStroke.CAP_BUTT; // TODO: what does extended mean?
+ default -> throw new POIXMLException("Invalid line cap specified");
+ };
float[] dash = null;
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/SVGRenderExtension.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/SVGRenderExtension.java
index 53ed325050..d5125e142b 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/SVGRenderExtension.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/draw/SVGRenderExtension.java
@@ -177,19 +177,11 @@ public class SVGRenderExtension extends
DefaultExtensionHandler {
gradElem.setAttribute(SVG_GRADIENT_UNITS_ATTRIBUTE,
SVG_USER_SPACE_ON_USE_VALUE);
// Set cycle method
- final String cycleVal;
- switch (gradient.getCycleMethod()) {
- case REFLECT:
- cycleVal = SVG_REFLECT_VALUE;
- break;
- case REPEAT:
- cycleVal = SVG_REPEAT_VALUE;
- break;
- case NO_CYCLE:
- default:
- cycleVal = SVG_PAD_VALUE;
- break;
- }
+ final String cycleVal = switch (gradient.getCycleMethod()) {
+ case REFLECT -> SVG_REFLECT_VALUE;
+ case REPEAT -> SVG_REPEAT_VALUE;
+ default -> SVG_PAD_VALUE;
+ };
gradElem.setAttribute(SVG_SPREAD_METHOD_ATTRIBUTE, cycleVal);
// Set color space
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 6b1f95918e..87b0e1904b 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
@@ -98,47 +98,26 @@ public class XSLFPath implements PathIf {
@Override
public PaintStyle.PaintModifier getFill() {
- switch (pathXml.getFill().intValue()) {
- default:
- case STPathFillMode.INT_NONE:
- return PaintStyle.PaintModifier.NONE;
- case STPathFillMode.INT_NORM:
- return PaintStyle.PaintModifier.NORM;
- case STPathFillMode.INT_LIGHTEN:
- return PaintStyle.PaintModifier.LIGHTEN;
- case STPathFillMode.INT_LIGHTEN_LESS:
- return PaintStyle.PaintModifier.LIGHTEN_LESS;
- case STPathFillMode.INT_DARKEN:
- return PaintStyle.PaintModifier.DARKEN;
- case STPathFillMode.INT_DARKEN_LESS:
- return PaintStyle.PaintModifier.DARKEN_LESS;
- }
+ return switch (pathXml.getFill().intValue()) {
+ case STPathFillMode.INT_NORM -> PaintStyle.PaintModifier.NORM;
+ case STPathFillMode.INT_LIGHTEN ->
PaintStyle.PaintModifier.LIGHTEN;
+ case STPathFillMode.INT_LIGHTEN_LESS ->
PaintStyle.PaintModifier.LIGHTEN_LESS;
+ case STPathFillMode.INT_DARKEN -> PaintStyle.PaintModifier.DARKEN;
+ case STPathFillMode.INT_DARKEN_LESS ->
PaintStyle.PaintModifier.DARKEN_LESS;
+ default -> PaintStyle.PaintModifier.NONE;
+ };
}
@Override
public void setFill(PaintStyle.PaintModifier fill) {
- STPathFillMode.Enum f;
- switch (fill) {
- default:
- case NONE:
- f = STPathFillMode.NONE;
- break;
- case NORM:
- f = STPathFillMode.NORM;
- break;
- case LIGHTEN:
- f = STPathFillMode.LIGHTEN;
- break;
- case LIGHTEN_LESS:
- f = STPathFillMode.LIGHTEN_LESS;
- break;
- case DARKEN:
- f = STPathFillMode.DARKEN;
- break;
- case DARKEN_LESS:
- f = STPathFillMode.DARKEN_LESS;
- break;
- }
+ 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;
+ };
pathXml.setFill(f);
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/model/ParagraphPropertyFetcher.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/model/ParagraphPropertyFetcher.java
index c2731adc6c..7a2f213d4a 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xslf/model/ParagraphPropertyFetcher.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xslf/model/ParagraphPropertyFetcher.java
@@ -141,27 +141,17 @@ public final class ParagraphPropertyFetcher<T> extends
PropertyFetcher<T> {
return null;
}
- switch (_level) {
- case 0:
- return dts.getLvl1PPr();
- case 1:
- return dts.getLvl2PPr();
- case 2:
- return dts.getLvl3PPr();
- case 3:
- return dts.getLvl4PPr();
- case 4:
- return dts.getLvl5PPr();
- case 5:
- return dts.getLvl6PPr();
- case 6:
- return dts.getLvl7PPr();
- case 7:
- return dts.getLvl8PPr();
- case 8:
- return dts.getLvl9PPr();
- default:
- return null;
- }
+ return switch (_level) {
+ case 0 -> dts.getLvl1PPr();
+ case 1 -> dts.getLvl2PPr();
+ case 2 -> dts.getLvl3PPr();
+ case 3 -> dts.getLvl4PPr();
+ case 4 -> dts.getLvl5PPr();
+ case 5 -> dts.getLvl6PPr();
+ case 6 -> dts.getLvl7PPr();
+ case 7 -> dts.getLvl8PPr();
+ case 8 -> dts.getLvl9PPr();
+ default -> null;
+ };
}
}
\ No newline at end of file
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFColor.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFColor.java
index db46847340..c03f6a7b23 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFColor.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFColor.java
@@ -167,14 +167,11 @@ public class XSLFColor {
}
private static XmlObject nextObject(XmlObject obj, XmlCursor cur, int idx)
{
- switch (idx) {
- case 0:
- return obj;
- case 1:
- return cur.toFirstChild() ? cur.getObject() : null;
- default:
- return cur.toNextSibling() ? cur.getObject() : null;
- }
+ return switch (idx) {
+ case 0 -> obj;
+ case 1 -> cur.toFirstChild() ? cur.getObject() : null;
+ default -> cur.toNextSibling() ? cur.getObject() : null;
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java
index 983b9decb0..38914ef2b7 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java
@@ -114,16 +114,12 @@ public class XSLFGraphicFrame extends XSLFShape
implements GraphicalFrame<XSLFSh
static XSLFGraphicFrame create(CTGraphicalObjectFrame shape, XSLFSheet
sheet){
final String uri = getUri(shape);
- switch (uri == null ? "" : uri) {
- case XSLFTable.TABLE_URI:
- return new XSLFTable(shape, sheet);
- case XSLFObjectShape.OLE_URI:
- return new XSLFObjectShape(shape, sheet);
- case XSLFDiagram.DRAWINGML_DIAGRAM_URI:
- return new XSLFDiagram(shape, sheet);
- default:
- return new XSLFGraphicFrame(shape, sheet);
- }
+ return switch (uri == null ? "" : uri) {
+ case XSLFTable.TABLE_URI -> new XSLFTable(shape, sheet);
+ case XSLFObjectShape.OLE_URI -> new XSLFObjectShape(shape, sheet);
+ case XSLFDiagram.DRAWINGML_DIAGRAM_URI -> new XSLFDiagram(shape,
sheet);
+ default -> new XSLFGraphicFrame(shape, sheet);
+ };
}
private static String getUri(CTGraphicalObjectFrame shape) {
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
index e7eea4f513..77b421660d 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
@@ -245,22 +245,22 @@ public final class XSLFPictureData extends
POIXMLDocumentPart implements Picture
}
/* package */ static XSLFRelation getRelationForType(PictureType pt) {
- switch (pt) {
- case EMF: return XSLFRelation.IMAGE_EMF;
- case WMF: return XSLFRelation.IMAGE_WMF;
- case PICT: return XSLFRelation.IMAGE_PICT;
- case JPEG: return XSLFRelation.IMAGE_JPEG;
- case PNG: return XSLFRelation.IMAGE_PNG;
- case DIB: return XSLFRelation.IMAGE_DIB;
- case GIF: return XSLFRelation.IMAGE_GIF;
- case EPS: return XSLFRelation.IMAGE_EPS;
- case BMP: return XSLFRelation.IMAGE_BMP;
- case WPG: return XSLFRelation.IMAGE_WPG;
- case WDP: return XSLFRelation.HDPHOTO_WDP;
- case TIFF: return XSLFRelation.IMAGE_TIFF;
- case SVG: return XSLFRelation.IMAGE_SVG;
- default: return null;
- }
+ return switch (pt) {
+ case EMF -> XSLFRelation.IMAGE_EMF;
+ case WMF -> XSLFRelation.IMAGE_WMF;
+ case PICT -> XSLFRelation.IMAGE_PICT;
+ case JPEG -> XSLFRelation.IMAGE_JPEG;
+ case PNG -> XSLFRelation.IMAGE_PNG;
+ case DIB -> XSLFRelation.IMAGE_DIB;
+ case GIF -> XSLFRelation.IMAGE_GIF;
+ case EPS -> XSLFRelation.IMAGE_EPS;
+ case BMP -> XSLFRelation.IMAGE_BMP;
+ case WPG -> XSLFRelation.IMAGE_WPG;
+ case WDP -> XSLFRelation.HDPHOTO_WDP;
+ case TIFF -> XSLFRelation.IMAGE_TIFF;
+ case SVG -> XSLFRelation.IMAGE_SVG;
+ default -> null;
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPlaceholderDetails.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPlaceholderDetails.java
index 9beb83815b..9b31bf6614 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPlaceholderDetails.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPlaceholderDetails.java
@@ -100,18 +100,13 @@ public class XSLFPlaceholderDetails implements
PlaceholderDetails {
if (pl == null) {
return true;
}
- switch (pl) {
- case DATETIME:
- return !hf.isSetDt() || hf.getDt();
- case FOOTER:
- return !hf.isSetFtr() || hf.getFtr();
- case HEADER:
- return !hf.isSetHdr() || hf.getHdr();
- case SLIDE_NUMBER:
- return !hf.isSetSldNum() || hf.getSldNum();
- default:
- return true;
- }
+ return switch (pl) {
+ case DATETIME -> !hf.isSetDt() || hf.getDt();
+ case FOOTER -> !hf.isSetFtr() || hf.getFtr();
+ case HEADER -> !hf.isSetHdr() || hf.getHdr();
+ case SLIDE_NUMBER -> !hf.isSetSldNum() || hf.getSldNum();
+ default -> true;
+ };
}
@Override
@@ -151,16 +146,12 @@ public class XSLFPlaceholderDetails implements
PlaceholderDetails {
if (ph == null || !ph.isSetSz()) {
return null;
}
- switch (ph.getSz().intValue()) {
- case STPlaceholderSize.INT_FULL:
- return PlaceholderSize.full;
- case STPlaceholderSize.INT_HALF:
- return PlaceholderSize.half;
- case STPlaceholderSize.INT_QUARTER:
- return PlaceholderSize.quarter;
- default:
- return null;
- }
+ return switch (ph.getSz().intValue()) {
+ case STPlaceholderSize.INT_FULL -> PlaceholderSize.full;
+ case STPlaceholderSize.INT_HALF -> PlaceholderSize.half;
+ case STPlaceholderSize.INT_QUARTER -> PlaceholderSize.quarter;
+ default -> null;
+ };
}
@Override
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFShape.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFShape.java
index c5858eb2ab..413770ec67 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFShape.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFShape.java
@@ -370,17 +370,12 @@ public abstract class XSLFShape implements
Shape<XSLFShape,XSLFTextParagraph> {
return STPlaceholderType.INT_BODY;
}
- switch (ph.getType().intValue()) {
- case STPlaceholderType.INT_TITLE:
- case STPlaceholderType.INT_CTR_TITLE:
- return STPlaceholderType.INT_TITLE;
- case STPlaceholderType.INT_FTR:
- case STPlaceholderType.INT_SLD_NUM:
- case STPlaceholderType.INT_DT:
- return ph.getType().intValue();
- default:
- return STPlaceholderType.INT_BODY;
- }
+ return switch (ph.getType().intValue()) {
+ case STPlaceholderType.INT_TITLE, STPlaceholderType.INT_CTR_TITLE
-> STPlaceholderType.INT_TITLE;
+ case STPlaceholderType.INT_FTR, STPlaceholderType.INT_SLD_NUM,
STPlaceholderType.INT_DT ->
+ ph.getType().intValue();
+ default -> STPlaceholderType.INT_BODY;
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java
index fce0e6a441..918fcf5c73 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFSimpleShape.java
@@ -439,25 +439,13 @@ public abstract class XSLFSimpleShape extends XSLFShape
ln.unsetCmpd();
}
} else {
- STCompoundLine.Enum xCmpd;
- switch (compound) {
- default:
- case SINGLE:
- xCmpd = STCompoundLine.SNG;
- break;
- case DOUBLE:
- xCmpd = STCompoundLine.DBL;
- break;
- case THICK_THIN:
- xCmpd = STCompoundLine.THICK_THIN;
- break;
- case THIN_THICK:
- xCmpd = STCompoundLine.THIN_THICK;
- break;
- case TRIPLE:
- xCmpd = STCompoundLine.TRI;
- break;
- }
+ STCompoundLine.Enum xCmpd = switch (compound) {
+ case DOUBLE -> STCompoundLine.DBL;
+ case THICK_THIN -> STCompoundLine.THICK_THIN;
+ case THIN_THICK -> STCompoundLine.THIN_THICK;
+ case TRIPLE -> STCompoundLine.TRI;
+ default -> STCompoundLine.SNG;
+ };
ln.setCmpd(xCmpd);
}
}
@@ -487,19 +475,13 @@ public abstract class XSLFSimpleShape extends XSLFShape
if (cmpd == null) {
CTLineProperties defaultLn = getDefaultLineProperties();
if (defaultLn != null && defaultLn.isSetCmpd()) {
- switch (defaultLn.getCmpd().intValue()) {
- default:
- case STCompoundLine.INT_SNG:
- return LineCompound.SINGLE;
- case STCompoundLine.INT_DBL:
- return LineCompound.DOUBLE;
- case STCompoundLine.INT_THICK_THIN:
- return LineCompound.THICK_THIN;
- case STCompoundLine.INT_THIN_THICK:
- return LineCompound.THIN_THICK;
- case STCompoundLine.INT_TRI:
- return LineCompound.TRIPLE;
- }
+ return switch (defaultLn.getCmpd().intValue()) {
+ case STCompoundLine.INT_DBL -> LineCompound.DOUBLE;
+ case STCompoundLine.INT_THICK_THIN ->
LineCompound.THICK_THIN;
+ case STCompoundLine.INT_THIN_THICK ->
LineCompound.THIN_THICK;
+ case STCompoundLine.INT_TRI -> LineCompound.TRIPLE;
+ default -> LineCompound.SINGLE;
+ };
}
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java
index ea0f49abef..08e31fcf9b 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java
@@ -139,19 +139,11 @@ import
org.openxmlformats.schemas.presentationml.x2006.main.SldMasterDocument;
protected CTTextListStyle getTextProperties(Placeholder textType) {
CTTextListStyle props;
CTSlideMasterTextStyles txStyles = getXmlObject().getTxStyles();
- switch (textType){
- case TITLE:
- case CENTERED_TITLE:
- case SUBTITLE:
- props = txStyles.getTitleStyle();
- break;
- case BODY:
- props = txStyles.getBodyStyle();
- break;
- default:
- props = txStyles.getOtherStyle();
- break;
- }
+ props = switch (textType) {
+ case TITLE, CENTERED_TITLE, SUBTITLE -> txStyles.getTitleStyle();
+ case BODY -> txStyles.getBodyStyle();
+ default -> txStyles.getOtherStyle();
+ };
return props;
}
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 c8a99c6307..47f94c79ac 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
@@ -595,22 +595,12 @@ public class XSLFTableCell extends XSLFTextShape
implements TableCell<XSLFShape,
cellProps.unsetVert();
}
} else {
- STTextVerticalType.Enum vt;
- switch (orientation) {
- default:
- case HORIZONTAL:
- vt = STTextVerticalType.HORZ;
- break;
- case VERTICAL:
- vt = STTextVerticalType.VERT;
- break;
- case VERTICAL_270:
- vt = STTextVerticalType.VERT_270;
- break;
- case STACKED:
- vt = STTextVerticalType.WORD_ART_VERT;
- break;
- }
+ STTextVerticalType.Enum vt = switch (orientation) {
+ case VERTICAL -> STTextVerticalType.VERT;
+ case VERTICAL_270 -> STTextVerticalType.VERT_270;
+ case STACKED -> STTextVerticalType.WORD_ART_VERT;
+ default -> STTextVerticalType.HORZ;
+ };
cellProps.setVert(vt);
}
@@ -630,20 +620,14 @@ public class XSLFTableCell extends XSLFTextShape
implements TableCell<XSLFShape,
orientation = STTextVerticalType.HORZ;
}
- switch (orientation.intValue()) {
- default:
- case STTextVerticalType.INT_HORZ:
- return TextDirection.HORIZONTAL;
- case STTextVerticalType.INT_VERT:
- case STTextVerticalType.INT_EA_VERT:
- case STTextVerticalType.INT_MONGOLIAN_VERT:
- return TextDirection.VERTICAL;
- case STTextVerticalType.INT_VERT_270:
- return TextDirection.VERTICAL_270;
- case STTextVerticalType.INT_WORD_ART_VERT:
- case STTextVerticalType.INT_WORD_ART_VERT_RTL:
- return TextDirection.STACKED;
- }
+ return switch (orientation.intValue()) {
+ case STTextVerticalType.INT_VERT, STTextVerticalType.INT_EA_VERT,
STTextVerticalType.INT_MONGOLIAN_VERT ->
+ TextDirection.VERTICAL;
+ case STTextVerticalType.INT_VERT_270 -> TextDirection.VERTICAL_270;
+ case STTextVerticalType.INT_WORD_ART_VERT,
STTextVerticalType.INT_WORD_ART_VERT_RTL ->
+ TextDirection.STACKED;
+ default -> TextDirection.HORIZONTAL;
+ };
}
private CTTableCell getCell() {
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java
index 267c7b92d5..00308c73ea 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java
@@ -1040,15 +1040,11 @@ public class XSLFTextParagraph implements
TextParagraph<XSLFShape,XSLFTextParagr
public boolean isHeaderOrFooter() {
CTPlaceholder ph =
_shape.getPlaceholderDetails().getCTPlaceholder(false);
int phId = (ph == null ? -1 : ph.getType().intValue());
- switch (phId) {
- case STPlaceholderType.INT_SLD_NUM:
- case STPlaceholderType.INT_DT:
- case STPlaceholderType.INT_FTR:
- case STPlaceholderType.INT_HDR:
- return true;
- default:
- return false;
- }
+ return switch (phId) {
+ case STPlaceholderType.INT_SLD_NUM, STPlaceholderType.INT_DT,
STPlaceholderType.INT_FTR,
+ STPlaceholderType.INT_HDR -> true;
+ default -> false;
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
index 11cf9dc32d..8da9c28050 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
@@ -674,12 +674,6 @@ public class XSLFTextRun implements TextRun,
HighlightColorSupport {
}
FontGroup fg = FontGroup.getFontGroupFirst(getRawText());
switch (fg) {
- default:
- case LATIN:
- if (props.isSetLatin()) {
- props.unsetLatin();
- }
- break;
case EAST_ASIAN:
if (props.isSetEa()) {
props.unsetEa();
@@ -695,6 +689,12 @@ public class XSLFTextRun implements TextRun,
HighlightColorSupport {
props.unsetSym();
}
break;
+ case LATIN:
+ default:
+ if (props.isSetLatin()) {
+ props.unsetLatin();
+ }
+ break;
}
}
@@ -777,13 +777,6 @@ public class XSLFTextRun implements TextRun,
HighlightColorSupport {
CTTextFont font;
switch (fontGroup) {
- default:
- case LATIN:
- font = props.getLatin();
- if (font == null && create) {
- font = props.addNewLatin();
- }
- break;
case EAST_ASIAN:
font = props.getEa();
if (font == null && create) {
@@ -802,6 +795,13 @@ public class XSLFTextRun implements TextRun,
HighlightColorSupport {
font = props.addNewSym();
}
break;
+ case LATIN:
+ default:
+ font = props.getLatin();
+ if (font == null && create) {
+ font = props.addNewLatin();
+ }
+ break;
}
if (font == null) {
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
index 707c33aa31..feec0df6f8 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
@@ -341,20 +341,14 @@ public abstract class XSLFTextShape extends
XSLFSimpleShape
if (bodyPr != null) {
STTextVerticalType.Enum val = bodyPr.getVert();
if (val != null) {
- switch (val.intValue()) {
- default:
- case STTextVerticalType.INT_HORZ:
- return TextDirection.HORIZONTAL;
- case STTextVerticalType.INT_EA_VERT:
- case STTextVerticalType.INT_MONGOLIAN_VERT:
- case STTextVerticalType.INT_VERT:
- return TextDirection.VERTICAL;
- case STTextVerticalType.INT_VERT_270:
- return TextDirection.VERTICAL_270;
- case STTextVerticalType.INT_WORD_ART_VERT_RTL:
- case STTextVerticalType.INT_WORD_ART_VERT:
- return TextDirection.STACKED;
- }
+ return switch (val.intValue()) {
+ case STTextVerticalType.INT_EA_VERT,
STTextVerticalType.INT_MONGOLIAN_VERT,
+ STTextVerticalType.INT_VERT -> TextDirection.VERTICAL;
+ case STTextVerticalType.INT_VERT_270 ->
TextDirection.VERTICAL_270;
+ case STTextVerticalType.INT_WORD_ART_VERT_RTL,
STTextVerticalType.INT_WORD_ART_VERT ->
+ TextDirection.STACKED;
+ default -> TextDirection.HORIZONTAL;
+ };
}
}
return TextDirection.HORIZONTAL;
@@ -758,13 +752,6 @@ public abstract class XSLFTextShape extends XSLFSimpleShape
@Override
public void setTextPlaceholder(TextPlaceholder placeholder) {
switch (placeholder) {
- default:
- case NOTES:
- case HALF_BODY:
- case QUARTER_BODY:
- case BODY:
- setPlaceholder(Placeholder.BODY);
- break;
case TITLE:
setPlaceholder(Placeholder.TITLE);
break;
@@ -778,6 +765,13 @@ public abstract class XSLFTextShape extends XSLFSimpleShape
case OTHER:
setPlaceholder(Placeholder.CONTENT);
break;
+ case NOTES:
+ case HALF_BODY:
+ case QUARTER_BODY:
+ case BODY:
+ default:
+ setPlaceholder(Placeholder.BODY);
+ break;
}
}
@@ -787,17 +781,12 @@ public abstract class XSLFTextShape extends
XSLFSimpleShape
if (ph == null) {
return TextPlaceholder.BODY;
}
- switch (ph) {
- case BODY:
- return TextPlaceholder.BODY;
- case TITLE:
- return TextPlaceholder.TITLE;
- case CENTERED_TITLE:
- return TextPlaceholder.CENTER_TITLE;
- default:
- case CONTENT:
- return TextPlaceholder.OTHER;
- }
+ return switch (ph) {
+ case BODY -> TextPlaceholder.BODY;
+ case TITLE -> TextPlaceholder.TITLE;
+ case CENTERED_TITLE -> TextPlaceholder.CENTER_TITLE;
+ default -> TextPlaceholder.OTHER;
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTexturePaint.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTexturePaint.java
index bb9c04e862..cb59cef2fe 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTexturePaint.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTexturePaint.java
@@ -132,17 +132,12 @@ public class XSLFTexturePaint implements
PaintStyle.TexturePaint {
@Override
public PaintStyle.FlipMode getFlipMode() {
CTTileInfoProperties tile = blipFill.getTile();
- switch (tile == null || tile.getFlip() == null ?
STTileFlipMode.INT_NONE : tile.getFlip().intValue()) {
- default:
- case STTileFlipMode.INT_NONE:
- return PaintStyle.FlipMode.NONE;
- case STTileFlipMode.INT_X:
- return PaintStyle.FlipMode.X;
- case STTileFlipMode.INT_Y:
- return PaintStyle.FlipMode.Y;
- case STTileFlipMode.INT_XY:
- return PaintStyle.FlipMode.XY;
- }
+ return switch (tile == null || tile.getFlip() == null ?
STTileFlipMode.INT_NONE : tile.getFlip().intValue()) {
+ case STTileFlipMode.INT_X -> FlipMode.X;
+ case STTileFlipMode.INT_Y -> FlipMode.Y;
+ case STTileFlipMode.INT_XY -> FlipMode.XY;
+ default -> FlipMode.NONE;
+ };
}
@Override
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTheme.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTheme.java
index dccd7c1c6d..4a5db1c0bb 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTheme.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFTheme.java
@@ -97,34 +97,21 @@ public class XSLFTheme 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-ooxml/src/main/java/org/apache/poi/xslf/util/BitmapFormat.java
b/poi-ooxml/src/main/java/org/apache/poi/xslf/util/BitmapFormat.java
index de98990257..8f57fead9d 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xslf/util/BitmapFormat.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/util/BitmapFormat.java
@@ -43,16 +43,10 @@ public class BitmapFormat implements OutputFormat {
@Override
public Graphics2D addSlide(double width, double height) {
- int type;
- switch (format) {
- case "png":
- case "gif":
- type = BufferedImage.TYPE_INT_ARGB;
- break;
- default:
- type = BufferedImage.TYPE_INT_RGB;
- break;
- }
+ int type = switch (format) {
+ case "png", "gif" -> BufferedImage.TYPE_INT_ARGB;
+ default -> BufferedImage.TYPE_INT_RGB;
+ };
img = new BufferedImage(MathUtil.safeDoubleToInt(width),
MathUtil.safeDoubleToInt(height), type);
graphics = img.createGraphics();
graphics.setRenderingHint(Drawable.BUFFERED_IMAGE, new
WeakReference<>(img));
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 13b8eb9024..c5553b05e7 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
@@ -377,25 +377,13 @@ public final class PPTX2PNG {
private double getDimensions(MFProxy proxy, Dimension2D dim) {
final Dimension2D pgsize = proxy.getSize();
- final double lenSide;
- switch (fixSide) {
- default:
- case "scale":
- lenSide = 1;
- break;
- case "long":
- lenSide = Math.max(pgsize.getWidth(), pgsize.getHeight());
- break;
- case "short":
- lenSide = Math.min(pgsize.getWidth(), pgsize.getHeight());
- break;
- case "width":
- lenSide = pgsize.getWidth();
- break;
- case "height":
- lenSide = pgsize.getHeight();
- break;
- }
+ 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();
+ };
dim.setSize(pgsize.getWidth() * scale / lenSide, pgsize.getHeight() *
scale / lenSide);
return lenSide;
@@ -457,17 +445,11 @@ public final class PPTX2PNG {
if (fm == FileMagic.UNKNOWN) {
fm = defaultFileType;
}
- switch (fm) {
- case EMF:
- proxy = new EMFHandler();
- break;
- case WMF:
- proxy = new WMFHandler();
- break;
- default:
- proxy = new PPTHandler();
- break;
- }
+ proxy = switch (fm) {
+ case EMF -> new EMFHandler();
+ case WMF -> new WMFHandler();
+ default -> new PPTHandler();
+ };
proxy.setIgnoreParse(ignoreParse);
proxy.setQuiet(quiet);
con.parse(proxy);
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
index 28893b8e48..2a82e3e358 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
@@ -372,7 +372,7 @@ public class XSSFSheetXMLHandler extends DefaultHandler {
String thisStr = null;
// Process the value contents as required, now we have it all
- if (formulasNotResults && formula.length() > 0) {
+ if (formulasNotResults && !formula.isEmpty()) {
thisStr = formula.toString();
} else {
switch (nextDataType) {
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java
index 43f1334e73..4c11900cbe 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java
@@ -747,27 +747,22 @@ public class SXSSFCell extends CellBase {
*/
@Override
public String toString() {
- switch (getCellType()) {
- case BLANK:
- return "";
- case BOOLEAN:
- return getBooleanCellValue() ? "TRUE" : "FALSE";
- case ERROR:
- return ErrorEval.getText(getErrorCellValue());
- case FORMULA:
- return getCellFormula();
- case NUMERIC:
+ return switch (getCellType()) {
+ case BLANK -> "";
+ case BOOLEAN -> getBooleanCellValue() ? "TRUE" : "FALSE";
+ case ERROR -> ErrorEval.getText(getErrorCellValue());
+ 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();
+ };
}
/*package*/ void removeProperty(int type)
@@ -980,21 +975,17 @@ public class SXSSFCell extends CellBase {
cellType = getCachedFormulaResultType();
}
- switch (cellType) {
- case BOOLEAN:
- return getBooleanCellValue();
- case STRING:
+ return switch (cellType) {
+ case BOOLEAN -> getBooleanCellValue();
+ case STRING -> {
String text = getStringCellValue();
- return Boolean.parseBoolean(text);
- case NUMERIC:
- return getNumericCellValue() != 0;
- case ERROR:
- case BLANK:
- return false;
- default:
- throw new IllegalStateException("Unexpected cell type (" +
cellType + ")");
- }
+ yield Boolean.parseBoolean(text);
+ }
+ case NUMERIC -> getNumericCellValue() != 0;
+ case ERROR, BLANK -> false;
+ default -> throw new IllegalStateException("Unexpected cell type
(" + cellType + ")");
+ };
}
private String convertCellValueToString() {
@@ -1002,29 +993,26 @@ public class SXSSFCell extends CellBase {
return convertCellValueToString(cellType);
}
private String convertCellValueToString(CellType cellType) {
- switch (cellType) {
- case BLANK:
- return "";
- case BOOLEAN:
- return getBooleanCellValue() ? "TRUE" : "FALSE";
- case STRING:
- return getStringCellValue();
- case NUMERIC:
- return Double.toString( getNumericCellValue() );
- case ERROR:
+ return switch (cellType) {
+ case BLANK -> "";
+ case BOOLEAN -> getBooleanCellValue() ? "TRUE" : "FALSE";
+ case STRING -> getStringCellValue();
+ case NUMERIC -> Double.toString(getNumericCellValue());
+ case ERROR -> {
byte errVal = getErrorCellValue();
- return FormulaError.forInt(errVal).getString();
- case FORMULA:
+ yield FormulaError.forInt(errVal).getString();
+ }
+ case FORMULA -> {
if (_value != null) {
- FormulaValue fv = (FormulaValue)_value;
+ FormulaValue fv = (FormulaValue) _value;
if (fv.getFormulaType() != CellType.FORMULA) {
- return convertCellValueToString(fv.getFormulaType());
+ yield convertCellValueToString(fv.getFormulaType());
}
}
- return "";
- default:
- throw new IllegalStateException("Unexpected cell type (" +
cellType + ")");
- }
+ yield "";
+ }
+ default -> throw new IllegalStateException("Unexpected cell type
(" + cellType + ")");
+ };
}
//END OF COPIED CODE
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFRow.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFRow.java
index 0a3bb81b25..ad0702e700 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFRow.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFRow.java
@@ -239,17 +239,15 @@ public class SXSSFRow implements Row, Comparable<SXSSFRow>
checkBounds(cellnum);
final SXSSFCell cell = _cells.get(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-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCell.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCell.java
index d0f56ed0d8..30b5138af2 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCell.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCell.java
@@ -696,28 +696,24 @@ public final class XSSFCell extends CellBase {
* Detect cell type based on the "t" attribute of the CTCell bean
*/
private CellType getBaseCellType(boolean blankCells) {
- switch (_cell.getT().intValue()) {
- case STCellType.INT_B:
- return CellType.BOOLEAN;
- case STCellType.INT_N:
+ return switch (_cell.getT().intValue()) {
+ case STCellType.INT_B -> CellType.BOOLEAN;
+ case STCellType.INT_N -> {
if (!_cell.isSetV() && blankCells) {
// ooxml does have a separate cell type of 'blank'. A
blank cell gets encoded as
// (either not present or) a numeric cell with no value
set.
// The formula evaluator (and perhaps other clients of
this interface) needs to
// distinguish blank values which sometimes get translated
into zero and sometimes
// empty string, depending on context
- return CellType.BLANK;
+ yield CellType.BLANK;
}
- return CellType.NUMERIC;
- case STCellType.INT_E:
- return CellType.ERROR;
- case STCellType.INT_S: // String is in shared strings
- case STCellType.INT_INLINE_STR: // String is inline in cell
- case STCellType.INT_STR:
- return CellType.STRING;
- default:
- throw new IllegalStateException("Illegal cell type: " +
this._cell.getT());
- }
+ yield CellType.NUMERIC;
+ }
+ case STCellType.INT_E -> CellType.ERROR; // String is in shared
strings
+ // String is inline in cell
+ case STCellType.INT_S, STCellType.INT_INLINE_STR,
STCellType.INT_STR -> CellType.STRING;
+ default -> throw new IllegalStateException("Illegal cell type: " +
this._cell.getT());
+ };
}
/**
@@ -953,27 +949,22 @@ public final class XSSFCell extends CellBase {
*/
@Override
public String toString() {
- switch (getCellType()) {
- case NUMERIC:
+ return switch (getCellType()) {
+ 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();
- case FORMULA:
- return getCellFormula();
- case BLANK:
- return "";
- case BOOLEAN:
- return getBooleanCellValue() ? TRUE : FALSE;
- case ERROR:
- return ErrorEval.getText(getErrorCellValue());
- default:
- return "Unknown Cell Type: " + getCellType();
- }
+ yield Double.toString(getNumericCellValue());
+ }
+ case STRING -> getRichStringCellValue().toString();
+ case FORMULA -> getCellFormula();
+ case BLANK -> "";
+ case BOOLEAN -> getBooleanCellValue() ? TRUE : FALSE;
+ case ERROR -> ErrorEval.getText(getErrorCellValue());
+ default -> "Unknown Cell Type: " + getCellType();
+ };
}
/**
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java
index 3da88b42ae..fcca1989cb 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java
@@ -535,20 +535,12 @@ public final class XSSFDrawing extends POIXMLDocumentPart
implements Drawing<XSS
ctAnchor.addNewClientData();
anchor.setTo(ctAnchor.getTo());
anchor.setFrom(ctAnchor.getFrom());
- STEditAs.Enum editAs;
- switch (anchor.getAnchorType()) {
- case DONT_MOVE_AND_RESIZE:
- editAs = STEditAs.ABSOLUTE;
- break;
- case MOVE_AND_RESIZE:
- editAs = STEditAs.TWO_CELL;
- break;
- case MOVE_DONT_RESIZE:
- editAs = STEditAs.ONE_CELL;
- break;
- default:
- editAs = STEditAs.ONE_CELL;
- }
+ STEditAs.Enum editAs = switch (anchor.getAnchorType()) {
+ case DONT_MOVE_AND_RESIZE -> STEditAs.ABSOLUTE;
+ case MOVE_AND_RESIZE -> STEditAs.TWO_CELL;
+ case MOVE_DONT_RESIZE -> STEditAs.ONE_CELL;
+ default -> STEditAs.ONE_CELL;
+ };
ctAnchor.setEditAs(editAs);
return ctAnchor;
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFFont.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFFont.java
index f2bc4fa6b8..c5821ec875 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFFont.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFFont.java
@@ -274,16 +274,12 @@ public class XSSFFont implements Font {
return Font.SS_NONE;
}
int val = vAlign.getVal().intValue();
- switch (val) {
- case STVerticalAlignRun.INT_BASELINE:
- return Font.SS_NONE;
- case STVerticalAlignRun.INT_SUBSCRIPT:
- return Font.SS_SUB;
- case STVerticalAlignRun.INT_SUPERSCRIPT:
- return Font.SS_SUPER;
- default:
- throw new POIXMLException("Wrong offset value " + val);
- }
+ return switch (val) {
+ case STVerticalAlignRun.INT_BASELINE -> Font.SS_NONE;
+ case STVerticalAlignRun.INT_SUBSCRIPT -> Font.SS_SUB;
+ case STVerticalAlignRun.INT_SUPERSCRIPT -> Font.SS_SUPER;
+ default -> throw new POIXMLException("Wrong offset value " + val);
+ };
}
/**
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFRow.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFRow.java
index 83d421aa5a..5f08082c3a 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFRow.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFRow.java
@@ -283,17 +283,15 @@ public class XSSFRow implements Row, Comparable<XSSFRow> {
// Performance optimization for bug 57840: explicit boxing is slightly
faster than auto-unboxing, though may use more memory
final Integer colI = Integer.valueOf(cellnum); // NOSONAR
XSSFCell cell = _cells.get(colI);
- 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-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 98f06ada70..1ed7115df2 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
@@ -805,22 +805,12 @@ public class XSSFSheet extends POIXMLDocumentPart
implements Sheet, OoxmlSheetEx
if (xSplitPos > 0 || ySplitPos > 0) {
final CTPane pane = getPane(true);
pane.setState(STPaneState.SPLIT);
- STPane.Enum stPaneEnum;
- switch (activePane) {
- case LOWER_RIGHT:
- stPaneEnum = STPane.BOTTOM_RIGHT;
- break;
- case UPPER_RIGHT:
- stPaneEnum = STPane.TOP_RIGHT;
- break;
- case LOWER_LEFT:
- stPaneEnum = STPane.BOTTOM_LEFT;
- break;
- case UPPER_LEFT:
- default:
- stPaneEnum = STPane.TOP_LEFT;
- break;
- }
+ STPane.Enum stPaneEnum = switch (activePane) {
+ case LOWER_RIGHT -> STPane.BOTTOM_RIGHT;
+ case UPPER_RIGHT -> STPane.TOP_RIGHT;
+ case LOWER_LEFT -> STPane.BOTTOM_LEFT;
+ default -> STPane.TOP_LEFT;
+ };
pane.setActivePane(stPaneEnum);
}
}
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheetConditionalFormatting.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheetConditionalFormatting.java
index 979250173f..70186da30a 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheetConditionalFormatting.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheetConditionalFormatting.java
@@ -84,18 +84,17 @@ public class XSSFSheetConditionalFormatting implements
SheetConditionalFormattin
cfRule.addFormula(formula1);
if(formula2 != null) cfRule.addFormula(formula2);
cfRule.setType(STCfType.CELL_IS);
- STConditionalFormattingOperator.Enum operator;
- switch (comparisonOperation){
- case ComparisonOperator.BETWEEN: operator =
STConditionalFormattingOperator.BETWEEN; break;
- case ComparisonOperator.NOT_BETWEEN: operator =
STConditionalFormattingOperator.NOT_BETWEEN; break;
- case ComparisonOperator.LT: operator =
STConditionalFormattingOperator.LESS_THAN; break;
- case ComparisonOperator.LE: operator =
STConditionalFormattingOperator.LESS_THAN_OR_EQUAL; break;
- case ComparisonOperator.GT: operator =
STConditionalFormattingOperator.GREATER_THAN; break;
- case ComparisonOperator.GE: operator =
STConditionalFormattingOperator.GREATER_THAN_OR_EQUAL; break;
- case ComparisonOperator.EQUAL: operator =
STConditionalFormattingOperator.EQUAL; break;
- case ComparisonOperator.NOT_EQUAL: operator =
STConditionalFormattingOperator.NOT_EQUAL; break;
- default: throw new IllegalArgumentException("Unknown comparison
operator: " + comparisonOperation);
- }
+ STConditionalFormattingOperator.Enum operator = switch
(comparisonOperation) {
+ case ComparisonOperator.BETWEEN ->
STConditionalFormattingOperator.BETWEEN;
+ case ComparisonOperator.NOT_BETWEEN ->
STConditionalFormattingOperator.NOT_BETWEEN;
+ case ComparisonOperator.LT ->
STConditionalFormattingOperator.LESS_THAN;
+ case ComparisonOperator.LE ->
STConditionalFormattingOperator.LESS_THAN_OR_EQUAL;
+ case ComparisonOperator.GT ->
STConditionalFormattingOperator.GREATER_THAN;
+ case ComparisonOperator.GE ->
STConditionalFormattingOperator.GREATER_THAN_OR_EQUAL;
+ case ComparisonOperator.EQUAL ->
STConditionalFormattingOperator.EQUAL;
+ case ComparisonOperator.NOT_EQUAL ->
STConditionalFormattingOperator.NOT_EQUAL;
+ default -> throw new IllegalArgumentException("Unknown comparison
operator: " + comparisonOperation);
+ };
cfRule.setOperator(operator);
return rule;
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSignatureLine.java
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSignatureLine.java
index 99a6ddd58b..625a46a961 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSignatureLine.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSignatureLine.java
@@ -103,31 +103,19 @@ public class XSSFSignatureLine extends SignatureLine {
private static POIXMLRelation mapType(PictureType type) throws
InvalidFormatException {
- switch (type) {
- case BMP:
- return XSSFRelation.IMAGE_BMP;
- case DIB:
- return XSSFRelation.IMAGE_DIB;
- case EMF:
- return XSSFRelation.IMAGE_EMF;
- case EPS:
- return XSSFRelation.IMAGE_EPS;
- case GIF:
- return XSSFRelation.IMAGE_GIF;
- case JPEG:
- return XSSFRelation.IMAGE_JPEG;
- case PICT:
- return XSSFRelation.IMAGE_PICT;
- case PNG:
- return XSSFRelation.IMAGE_PNG;
- case TIFF:
- return XSSFRelation.IMAGE_TIFF;
- case WMF:
- return XSSFRelation.IMAGE_WMF;
- case WPG:
- return XSSFRelation.IMAGE_WPG;
- default:
- throw new InvalidFormatException("Unsupported picture format
"+type);
- }
+ return switch (type) {
+ case BMP -> XSSFRelation.IMAGE_BMP;
+ case DIB -> XSSFRelation.IMAGE_DIB;
+ case EMF -> XSSFRelation.IMAGE_EMF;
+ case EPS -> XSSFRelation.IMAGE_EPS;
+ case GIF -> XSSFRelation.IMAGE_GIF;
+ case JPEG -> XSSFRelation.IMAGE_JPEG;
+ case PICT -> XSSFRelation.IMAGE_PICT;
+ case PNG -> XSSFRelation.IMAGE_PNG;
+ case TIFF -> XSSFRelation.IMAGE_TIFF;
+ case WMF -> XSSFRelation.IMAGE_WMF;
+ case WPG -> XSSFRelation.IMAGE_WPG;
+ default -> throw new InvalidFormatException("Unsupported picture
format " + type);
+ };
}
}
\ No newline at end of file
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSettings.java
b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSettings.java
index 73b5efb217..6c01a43b94 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSettings.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSettings.java
@@ -234,39 +234,38 @@ public class XWPFSettings extends POIXMLDocumentPart {
hashAlgo = HashAlgorithm.sha1;
}
- switch (hashAlgo) {
- case md2:
+ sid = switch (hashAlgo) {
+ case md2 -> {
providerType = STCryptProv.RSA_FULL;
- sid = 1;
- break;
- case md4:
+ yield 1;
+ }
+ case md4 -> {
providerType = STCryptProv.RSA_FULL;
- sid = 2;
- break;
- case md5:
+ yield 2;
+ }
+ case md5 -> {
providerType = STCryptProv.RSA_FULL;
- sid = 3;
- break;
- case sha1:
+ yield 3;
+ }
+ case sha1 -> {
providerType = STCryptProv.RSA_FULL;
- sid = 4;
- break;
- case sha256:
+ yield 4;
+ }
+ case sha256 -> {
providerType = STCryptProv.RSA_AES;
- sid = 12;
- break;
- case sha384:
+ yield 12;
+ }
+ case sha384 -> {
providerType = STCryptProv.RSA_AES;
- sid = 13;
- break;
- case sha512:
+ yield 13;
+ }
+ case sha512 -> {
providerType = STCryptProv.RSA_AES;
- sid = 14;
- break;
- default:
- throw new EncryptedDocumentException
- ("Hash algorithm '" + hashAlgo + "' is not
supported for document write protection.");
- }
+ yield 14;
+ }
+ default -> throw new EncryptedDocumentException
+ ("Hash algorithm '" + hashAlgo + "' is not supported
for document write protection.");
+ };
byte[] salt = RandomSingleton.getInstance().generateSeed(16);
diff --git
a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSignatureLine.java
b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSignatureLine.java
index a549fd78ce..ed87e35837 100644
---
a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSignatureLine.java
+++
b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSignatureLine.java
@@ -62,33 +62,20 @@ public class XWPFSignatureLine extends SignatureLine {
}
private static PictureType
mapType(org.apache.poi.common.usermodel.PictureType type) throws
InvalidFormatException {
- switch (type) {
- case BMP:
- return PictureType.BMP;
- case DIB:
- return PictureType.DIB;
- case EMF:
- return PictureType.EMF;
- case EPS:
- return PictureType.EPS;
- case GIF:
- return PictureType.GIF;
- case JPEG:
- return PictureType.JPEG;
- case PICT:
- return PictureType.PICT;
- case PNG:
- return PictureType.PNG;
- case TIFF:
- return PictureType.TIFF;
- case WMF:
- return PictureType.WMF;
- case WPG:
- return PictureType.WPG;
- case WDP:
- return PictureType.WDP;
- default:
- throw new InvalidFormatException("Unsupported picture format
"+type);
- }
+ return switch (type) {
+ case BMP -> PictureType.BMP;
+ case DIB -> PictureType.DIB;
+ case EMF -> PictureType.EMF;
+ case EPS -> PictureType.EPS;
+ case GIF -> PictureType.GIF;
+ case JPEG -> PictureType.JPEG;
+ case PICT -> PictureType.PICT;
+ case PNG -> PictureType.PNG;
+ case TIFF -> PictureType.TIFF;
+ case WMF -> PictureType.WMF;
+ case WPG -> PictureType.WPG;
+ case WDP -> PictureType.WDP;
+ default -> throw new InvalidFormatException("Unsupported picture
format " + type);
+ };
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]