diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java b/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java index 4ca64ea8f..c0eb9bd20 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java @@ -113,27 +113,7 @@ public final class HSSFRow implements Row, Comparable { { return this.createCell(column,CellType.BLANK); } - - /** - * Use this to create new cells within the row and return it. - *

- * The cell that is returned will be of the requested type. - * The type can be changed either through calling setCellValue - * or setCellType, but there is a small overhead to doing this, - * so it is best to create the required type up front. - * - * @param columnIndex - the column number this cell represents - * - * @return HSSFCell a high level representation of the created cell. - * @throws IllegalArgumentException if columnIndex < 0 or greater than 255, - * the maximum number of columns supported by the Excel binary format (.xls) - * @deprecated POI 3.15 beta 3 - */ - @Override - public HSSFCell createCell(int columnIndex, int type) - { - return createCell(columnIndex, CellType.forInt(type)); - } + /** * Use this to create new cells within the row and return it. *

diff --git a/src/java/org/apache/poi/ss/usermodel/Row.java b/src/java/org/apache/poi/ss/usermodel/Row.java index 20507fe0e..3595cd65e 100644 --- a/src/java/org/apache/poi/ss/usermodel/Row.java +++ b/src/java/org/apache/poi/ss/usermodel/Row.java @@ -37,28 +37,6 @@ public interface Row extends Iterable { */ Cell createCell(int column); - /** - * Use this to create new cells within the row and return it. - *

- * The cell that is returned will be of the requested type. - * The type can be changed either through calling setCellValue - * or setCellType, but there is a small overhead to doing this, - * so it is best to create of the required type up front. - * - * @param column - the column number this cell represents - * @param type - the cell's data type - * @return Cell a high level representation of the created cell. - * @throws IllegalArgumentException if columnIndex < 0 or greater than a maximum number of supported columns - * (255 for *.xls, 1048576 for *.xlsx) - * @see CellType#BLANK - * @see CellType#BOOLEAN - * @see CellType#ERROR - * @see CellType#FORMULA - * @see CellType#NUMERIC - * @see CellType#STRING - * @deprecated POI 3.15 beta 3. Use {@link #createCell(int, CellType)} instead. - */ - Cell createCell(int column, int type); /** * Use this to create new cells within the row and return it. *

diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java index 21abbe74d..711cd4894 100644 --- a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java +++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java @@ -121,24 +121,7 @@ public class SXSSFRow implements Row, Comparable { return createCell(column, CellType.BLANK); } - - /** - * Use this to create new cells within the row and return it. - *

- * The cell that is returned is a {@link CellType#BLANK}. The type can be changed - * either through calling setCellValue or setCellType. - * - * @param column - the column number this cell represents - * @return Cell a high level representation of the created cell. - * @throws IllegalArgumentException if columnIndex < 0 or greate than a maximum number of supported columns - * (255 for *.xls, 1048576 for *.xlsx) - * @deprecated POI 3.15 beta 3. Use {@link #createCell(int, CellType)} instead. - */ - @Override - public SXSSFCell createCell(int column, int type) - { - return createCell(column, CellType.forInt(type)); - } + /** * Use this to create new cells within the row and return it. *

diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java index 160794e5d..480f7b789 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java @@ -198,26 +198,6 @@ public class XSSFRow implements Row, Comparable { return createCell(columnIndex, CellType.BLANK); } - /** - * Use this to create new cells within the row and return it. - * - * @param columnIndex - the column number this cell represents - * @param type - the cell's data type - * @return XSSFCell a high level representation of the created cell. - * @throws IllegalArgumentException if the specified cell type is invalid, columnIndex < 0 - * or greater than 16384, the maximum number of columns supported by the SpreadsheetML format (.xlsx) - * @see CellType#BLANK - * @see CellType#BOOLEAN - * @see CellType#ERROR - * @see CellType#FORMULA - * @see CellType#NUMERIC - * @see CellType#STRING - * @deprecated POI 3.15 beta 3. Use {@link #createCell(int, CellType)} instead. - */ - @Override - public XSSFCell createCell(int columnIndex, int type) { - return createCell(columnIndex, CellType.forInt(type)); - } /** * Use this to create new cells within the row and return it. * diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/SprmBuffer.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/SprmBuffer.java index c44e340c1..c79c1fdd8 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/SprmBuffer.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/SprmBuffer.java @@ -24,8 +24,7 @@ import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; @Internal -public final class SprmBuffer implements Cloneable -{ +public final class SprmBuffer implements Cloneable { //arbitrarily selected; may need to increase private static final int MAX_RECORD_LENGTH = 100_000; @@ -36,239 +35,183 @@ public final class SprmBuffer implements Cloneable private final int _sprmsStartOffset; - /** - * @deprecated Use {@link #SprmBuffer(int)} instead - */ - @Deprecated - public SprmBuffer() - { - this( 0 ); - } - - /** - * @deprecated Use {@link #SprmBuffer(byte[],int)} instead - */ - @Deprecated - public SprmBuffer( byte[] buf ) - { - this( buf, 0 ); - } - - /** - * @deprecated Use {@link #SprmBuffer(byte[],boolean,int)} instead - */ - @Deprecated - public SprmBuffer( byte[] buf, boolean istd ) - { - this( buf, istd, 0 ); - } - - public SprmBuffer( byte[] buf, boolean istd, int sprmsStartOffset ) - { + public SprmBuffer(byte[] buf, boolean istd, int sprmsStartOffset) { _offset = buf.length; _buf = buf; _istd = istd; _sprmsStartOffset = sprmsStartOffset; } - public SprmBuffer( byte[] buf, int _sprmsStartOffset ) - { - this( buf, false, _sprmsStartOffset ); + public SprmBuffer(byte[] buf, int _sprmsStartOffset) { + this(buf, false, _sprmsStartOffset); } - public SprmBuffer( int sprmsStartOffset ) - { + public SprmBuffer(int sprmsStartOffset) { _buf = IOUtils.safelyAllocate(sprmsStartOffset + 4, MAX_RECORD_LENGTH); _offset = sprmsStartOffset; _sprmsStartOffset = sprmsStartOffset; } - public void addSprm(short opcode, byte operand) - { + public void addSprm(short opcode, byte operand) { int addition = LittleEndian.SHORT_SIZE + LittleEndian.BYTE_SIZE; ensureCapacity(addition); LittleEndian.putShort(_buf, _offset, opcode); _offset += LittleEndian.SHORT_SIZE; _buf[_offset++] = operand; - } + } - public void addSprm(short opcode, byte[] operand) - { + public void addSprm(short opcode, byte[] operand) { int addition = LittleEndian.SHORT_SIZE + LittleEndian.BYTE_SIZE + operand.length; ensureCapacity(addition); LittleEndian.putShort(_buf, _offset, opcode); _offset += LittleEndian.SHORT_SIZE; - _buf[_offset++] = (byte)operand.length; + _buf[_offset++] = (byte) operand.length; System.arraycopy(operand, 0, _buf, _offset, operand.length); - } - - public void addSprm(short opcode, int operand) - { - int addition = LittleEndian.SHORT_SIZE + LittleEndian.INT_SIZE; - ensureCapacity(addition); - LittleEndian.putShort(_buf, _offset, opcode); - _offset += LittleEndian.SHORT_SIZE; - LittleEndian.putInt(_buf, _offset, operand); - _offset += LittleEndian.INT_SIZE; - } - - public void addSprm(short opcode, short operand) - { - int addition = LittleEndian.SHORT_SIZE + LittleEndian.SHORT_SIZE; - ensureCapacity(addition); - LittleEndian.putShort(_buf, _offset, opcode); - _offset += LittleEndian.SHORT_SIZE; - LittleEndian.putShort(_buf, _offset, operand); - _offset += LittleEndian.SHORT_SIZE; - } - - public void append( byte[] grpprl ) -{ - append( grpprl, 0 ); -} - - public void append( byte[] grpprl, int offset ) -{ - ensureCapacity( grpprl.length - offset ); - System.arraycopy( grpprl, offset, _buf, _offset, grpprl.length - offset ); - _offset += grpprl.length - offset; -} - public SprmBuffer clone() - { - try { - SprmBuffer retVal = (SprmBuffer)super.clone(); - retVal._buf = new byte[_buf.length]; - System.arraycopy(_buf, 0, retVal._buf, 0, _buf.length); - return retVal; - } catch (CloneNotSupportedException e) { - throw new RuntimeException(e); - } - } - private void ensureCapacity( int addition ) -{ - if ( _offset + addition >= _buf.length ) - { - // add 6 more than they need for use the next iteration - // - // commented - buffer shall not contain any additional bytes -- - // sergey - // byte[] newBuf = new byte[_offset + addition + 6]; - byte[] newBuf = IOUtils.safelyAllocate(_offset + addition, MAX_RECORD_LENGTH); - System.arraycopy( _buf, 0, newBuf, 0, _buf.length ); - _buf = newBuf; - } -} - - @Override - public boolean equals(Object obj) - { - if (!(obj instanceof SprmBuffer)) return false; - SprmBuffer sprmBuf = (SprmBuffer)obj; - return (Arrays.equals(_buf, sprmBuf._buf)); - } - - @Override - public int hashCode() { - assert false : "hashCode not designed"; - return 42; // any arbitrary constant will do - } - - public SprmOperation findSprm( short opcode ) -{ - int operation = SprmOperation.getOperationFromOpcode( opcode ); - int type = SprmOperation.getTypeFromOpcode( opcode ); - - SprmIterator si = new SprmIterator( _buf, 2 ); - while ( si.hasNext() ) - { - SprmOperation i = si.next(); - if ( i.getOperation() == operation && i.getType() == type ) - return i; - } - return null; -} - - private int findSprmOffset( short opcode ) -{ - SprmOperation sprmOperation = findSprm( opcode ); - if ( sprmOperation == null ) - return -1; - - return sprmOperation.getGrpprlOffset(); -} - - public byte[] toByteArray() - { - return _buf; - } - - public SprmIterator iterator() - { - return new SprmIterator( _buf, _sprmsStartOffset ); } - public void updateSprm(short opcode, byte operand) - { - int grpprlOffset = findSprmOffset(opcode); - if(grpprlOffset != -1) - { - _buf[grpprlOffset] = operand; - return; + public void addSprm(short opcode, int operand) { + int addition = LittleEndian.SHORT_SIZE + LittleEndian.INT_SIZE; + ensureCapacity(addition); + LittleEndian.putShort(_buf, _offset, opcode); + _offset += LittleEndian.SHORT_SIZE; + LittleEndian.putInt(_buf, _offset, operand); + _offset += LittleEndian.INT_SIZE; + } + + public void addSprm(short opcode, short operand) { + int addition = LittleEndian.SHORT_SIZE + LittleEndian.SHORT_SIZE; + ensureCapacity(addition); + LittleEndian.putShort(_buf, _offset, opcode); + _offset += LittleEndian.SHORT_SIZE; + LittleEndian.putShort(_buf, _offset, operand); + _offset += LittleEndian.SHORT_SIZE; + } + + public void append(byte[] grpprl) { + append(grpprl, 0); + } + + public void append(byte[] grpprl, int offset) { + ensureCapacity(grpprl.length - offset); + System.arraycopy(grpprl, offset, _buf, _offset, grpprl.length - offset); + _offset += grpprl.length - offset; + } + + public SprmBuffer clone() { + try { + SprmBuffer retVal = (SprmBuffer) super.clone(); + retVal._buf = new byte[_buf.length]; + System.arraycopy(_buf, 0, retVal._buf, 0, _buf.length); + return retVal; + } catch (CloneNotSupportedException e) { + throw new RuntimeException(e); } - addSprm(opcode, operand); - } - - public void updateSprm( short opcode, boolean operand ) - { - int grpprlOffset = findSprmOffset( opcode ); - if ( grpprlOffset != -1 ) - { - _buf[grpprlOffset] = (byte) ( operand ? 1 : 0 ); - return; - } - addSprm( opcode, operand ? 1 : 0 ); } - public void updateSprm(short opcode, int operand) - { - int grpprlOffset = findSprmOffset(opcode); - if(grpprlOffset != -1) - { - LittleEndian.putInt(_buf, grpprlOffset, operand); - return; - } - addSprm(opcode, operand); - } - - public void updateSprm(short opcode, short operand) - { - int grpprlOffset = findSprmOffset(opcode); - if(grpprlOffset != -1) - { - LittleEndian.putShort(_buf, grpprlOffset, operand); - return; + private void ensureCapacity(int addition) { + if (_offset + addition >= _buf.length) { + // add 6 more than they need for use the next iteration + // + // commented - buffer shall not contain any additional bytes -- + // sergey + // byte[] newBuf = new byte[_offset + addition + 6]; + byte[] newBuf = IOUtils.safelyAllocate(_offset + addition, MAX_RECORD_LENGTH); + System.arraycopy(_buf, 0, newBuf, 0, _buf.length); + _buf = newBuf; } - addSprm(opcode, operand); - } + } @Override - public String toString() - { + public boolean equals(Object obj) { + if (!(obj instanceof SprmBuffer)) return false; + SprmBuffer sprmBuf = (SprmBuffer) obj; + return (Arrays.equals(_buf, sprmBuf._buf)); + } + + @Override + public int hashCode() { + assert false : "hashCode not designed"; + return 42; // any arbitrary constant will do + } + + public SprmOperation findSprm(short opcode) { + int operation = SprmOperation.getOperationFromOpcode(opcode); + int type = SprmOperation.getTypeFromOpcode(opcode); + + SprmIterator si = new SprmIterator(_buf, 2); + while (si.hasNext()) { + SprmOperation i = si.next(); + if (i.getOperation() == operation && i.getType() == type) + return i; + } + return null; + } + + private int findSprmOffset(short opcode) { + SprmOperation sprmOperation = findSprm(opcode); + if (sprmOperation == null) + return -1; + + return sprmOperation.getGrpprlOffset(); + } + + public byte[] toByteArray() { + return _buf; + } + + public SprmIterator iterator() { + return new SprmIterator(_buf, _sprmsStartOffset); + } + + public void updateSprm(short opcode, byte operand) { + int grpprlOffset = findSprmOffset(opcode); + if (grpprlOffset != -1) { + _buf[grpprlOffset] = operand; + return; + } + addSprm(opcode, operand); + } + + public void updateSprm(short opcode, boolean operand) { + int grpprlOffset = findSprmOffset(opcode); + if (grpprlOffset != -1) { + _buf[grpprlOffset] = (byte) (operand ? 1 : 0); + return; + } + addSprm(opcode, operand ? 1 : 0); + } + + public void updateSprm(short opcode, int operand) { + int grpprlOffset = findSprmOffset(opcode); + if (grpprlOffset != -1) { + LittleEndian.putInt(_buf, grpprlOffset, operand); + return; + } + addSprm(opcode, operand); + } + + public void updateSprm(short opcode, short operand) { + int grpprlOffset = findSprmOffset(opcode); + if (grpprlOffset != -1) { + LittleEndian.putShort(_buf, grpprlOffset, operand); + return; + } + addSprm(opcode, operand); + } + + @Override + public String toString() { StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append( "Sprms (" ); - stringBuilder.append( _buf.length ); - stringBuilder.append( " byte(s)): " ); - for ( SprmIterator iterator = iterator(); iterator.hasNext(); ) - { - try - { - stringBuilder.append( iterator.next() ); + stringBuilder.append("Sprms ("); + stringBuilder.append(_buf.length); + stringBuilder.append(" byte(s)): "); + for (SprmIterator iterator = iterator(); iterator.hasNext(); ) { + try { + stringBuilder.append(iterator.next()); + } catch (Exception exc) { + stringBuilder.append("error"); } - catch ( Exception exc ) - { - stringBuilder.append( "error" ); - } - stringBuilder.append( "; " ); + stringBuilder.append("; "); } return stringBuilder.toString(); }