]> source.dussan.org Git - poi.git/commitdiff
added Cell.setBlank() - as an alias, for now
authorVladislav Galas <gallon@apache.org>
Sat, 26 Jan 2019 19:40:56 +0000 (19:40 +0000)
committerVladislav Galas <gallon@apache.org>
Sat, 26 Jan 2019 19:40:56 +0000 (19:40 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1852244 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/ss/usermodel/Cell.java
src/java/org/apache/poi/ss/usermodel/CellBase.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java

index 6f960a30d735df6cbbb5932bf79344d984bb715d..21e701490e302bd2bd81e3f1be7b1943fe5c9d74 100644 (file)
@@ -89,6 +89,13 @@ public interface Cell {
      */
     void setCellType(CellType cellType);
 
+    /**
+     * Removes formula and value from the cell, and sets its type to {@link CellType#BLANK}.
+     * Preserves comments and hyperlinks.
+     * While {@link #setCellType(CellType)} exists, is an alias for {@code setCellType(CellType.BLANK)}.
+     */
+    void setBlank();
+
     /**
      * Return the cell type.
      *
index 7e3929b236a0b8ecb40f19f3b0f7b9d6bf8e103b..9777739fcf653008f3e1adfb36b5925b03897207 100644 (file)
@@ -40,6 +40,14 @@ public abstract class CellBase implements Cell {
         setCellTypeImpl(cellType);
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void setBlank() {
+        setCellType(CellType.BLANK);
+    }
+
     /**
      * Implementation-specific logic
      * @param cellType new cell type. Guaranteed non-null, not _NONE.
index 9eadae5b26b84ac55fb7680af35bb139981b3086..66061f4c64647dfa4937b8068958db6f3a5e851a 100644 (file)
@@ -944,7 +944,7 @@ public final class XSSFCell extends CellBase {
      * Blanks this cell. Blank cells have no formula or value but may have styling.
      * This method erases all the data previously associated with this cell.
      */
-    private void setBlank(){
+    private void setBlankPrivate(){
         CTCell blank = CTCell.Factory.newInstance();
         blank.setR(_cell.getR());
         if(_cell.isSetS()) {
@@ -1010,7 +1010,7 @@ public final class XSSFCell extends CellBase {
                 }
                 break;
             case BLANK:
-                setBlank();
+                setBlankPrivate();
                 break;
             case BOOLEAN:
                 String newVal = convertCellValueToBoolean() ? TRUE_AS_STRING : FALSE_AS_STRING;
index 9afa79f9569d7ba448414befb3b7a4c3454f8ce6..94a003dcb150349263d1b3cfc79a5d23cddb3708 100644 (file)
@@ -24,6 +24,9 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.doCallRealMethod;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
@@ -32,13 +35,11 @@ import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.Locale;
 import java.util.TimeZone;
-import java.util.function.Consumer;
 
 import org.apache.poi.common.usermodel.HyperlinkType;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.SpreadsheetVersion;
-import org.apache.poi.ss.formula.FormulaParseException;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.util.LocaleUtil;
 import org.junit.Test;
@@ -1357,6 +1358,16 @@ public abstract class BaseTestCell {
         assertTrue(cell.getBooleanCellValue());
     }
 
+    @Test
+    public final void setBlank_delegatesTo_setCellType_BLANK() {
+        Cell cell = mock(CellBase.class);
+        doCallRealMethod().when(cell).setBlank();
+
+        cell.setBlank();
+
+        verify(cell).setCellType(CellType.BLANK);
+    }
+
     private Cell getInstance() {
         return _testDataProvider.createWorkbook().createSheet().createRow(0).createCell(0);
     }