You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2020/08/16 16:54:26 UTC

svn commit: r1880903 - in /poi/trunk/src: java/org/apache/poi/ss/formula/ java/org/apache/poi/ss/formula/ptg/ testcases/org/apache/poi/ss/formula/ptg/

Author: kiwiwings
Date: Sun Aug 16 16:54:25 2020
New Revision: 1880903

URL: http://svn.apache.org/viewvc?rev=1880903&view=rev
Log:
#64036 - Replace reflection calls in factories for Java 9+
removed some unnecessary reflection calls OperationEvaluatorFactory

Modified:
    poi/trunk/src/java/org/apache/poi/ss/formula/OperationEvaluatorFactory.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AddPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area2DPtgBase.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaErrPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaNPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayInitialPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AttrPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/BoolPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ConcatPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Deleted3DPxg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedArea3DPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedRef3DPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DividePtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/EqualPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ErrPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ExpPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncVarPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterEqualPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterThanPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntersectionPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessEqualPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessThanPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemAreaPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemErrPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemFuncPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MissingArgPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MultiplyPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NamePtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPxg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NotEqualPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NumberPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ParenthesisPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PercentPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PowerPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ptg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RangePtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref2DPtgBase.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPxg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefErrorPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefNPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/StringPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/SubtractPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/TblPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryMinusPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryPlusPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnionPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnknownPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ValueOperatorPtg.java
    poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAbstractFunctionPtg.java

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/OperationEvaluatorFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/OperationEvaluatorFactory.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/OperationEvaluatorFactory.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/OperationEvaluatorFactory.java Sun Aug 16 16:54:25 2020
@@ -17,12 +17,24 @@
 
 package org.apache.poi.ss.formula;
 
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Modifier;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.poi.ss.formula.eval.ConcatEval;
+import org.apache.poi.ss.formula.eval.FunctionEval;
+import org.apache.poi.ss.formula.eval.IntersectionEval;
+import org.apache.poi.ss.formula.eval.PercentEval;
+import org.apache.poi.ss.formula.eval.RangeEval;
+import org.apache.poi.ss.formula.eval.RelationalOperationEval;
+import org.apache.poi.ss.formula.eval.TwoOperandNumericOperation;
+import org.apache.poi.ss.formula.eval.UnaryMinusEval;
+import org.apache.poi.ss.formula.eval.UnaryPlusEval;
+import org.apache.poi.ss.formula.eval.ValueEval;
+import org.apache.poi.ss.formula.function.FunctionMetadataRegistry;
+import org.apache.poi.ss.formula.functions.ArrayFunction;
 import org.apache.poi.ss.formula.functions.FreeRefFunction;
+import org.apache.poi.ss.formula.functions.Function;
+import org.apache.poi.ss.formula.functions.Indirect;
 import org.apache.poi.ss.formula.ptg.AbstractFunctionPtg;
 import org.apache.poi.ss.formula.ptg.AddPtg;
 import org.apache.poi.ss.formula.ptg.ConcatPtg;
@@ -42,20 +54,6 @@ import org.apache.poi.ss.formula.ptg.Ran
 import org.apache.poi.ss.formula.ptg.SubtractPtg;
 import org.apache.poi.ss.formula.ptg.UnaryMinusPtg;
 import org.apache.poi.ss.formula.ptg.UnaryPlusPtg;
-import org.apache.poi.ss.formula.eval.ConcatEval;
-import org.apache.poi.ss.formula.eval.FunctionEval;
-import org.apache.poi.ss.formula.eval.IntersectionEval;
-import org.apache.poi.ss.formula.eval.PercentEval;
-import org.apache.poi.ss.formula.eval.RangeEval;
-import org.apache.poi.ss.formula.eval.RelationalOperationEval;
-import org.apache.poi.ss.formula.eval.TwoOperandNumericOperation;
-import org.apache.poi.ss.formula.eval.UnaryMinusEval;
-import org.apache.poi.ss.formula.eval.UnaryPlusEval;
-import org.apache.poi.ss.formula.eval.ValueEval;
-import org.apache.poi.ss.formula.function.FunctionMetadataRegistry;
-import org.apache.poi.ss.formula.functions.ArrayFunction;
-import org.apache.poi.ss.formula.functions.Function;
-import org.apache.poi.ss.formula.functions.Indirect;
 import org.apache.poi.ss.util.CellRangeAddress;
 
 /**
@@ -66,45 +64,34 @@ import org.apache.poi.ss.util.CellRangeA
  */
 final class OperationEvaluatorFactory {
 
-	private static final Map<OperationPtg, Function> _instancesByPtgClass = initialiseInstancesMap();
+	private static final Map<Byte, Function> _instancesByPtgClass = initialiseInstancesMap();
 
 	private OperationEvaluatorFactory() {
 		// no instances of this class
 	}
 
-	private static Map<OperationPtg, Function> initialiseInstancesMap() {
-		Map<OperationPtg, Function> m = new HashMap<>(32);
+	private static Map<Byte, Function> initialiseInstancesMap() {
+		Map<Byte, Function> m = new HashMap<>(32);
 
-		put(m, EqualPtg.instance, RelationalOperationEval.EqualEval);
-		put(m, GreaterEqualPtg.instance, RelationalOperationEval.GreaterEqualEval);
-		put(m, GreaterThanPtg.instance, RelationalOperationEval.GreaterThanEval);
-		put(m, LessEqualPtg.instance, RelationalOperationEval.LessEqualEval);
-		put(m, LessThanPtg.instance, RelationalOperationEval.LessThanEval);
-		put(m, NotEqualPtg.instance, RelationalOperationEval.NotEqualEval);
-
-		put(m, ConcatPtg.instance, ConcatEval.instance);
-		put(m, AddPtg.instance, TwoOperandNumericOperation.AddEval);
-		put(m, DividePtg.instance, TwoOperandNumericOperation.DivideEval);
-		put(m, MultiplyPtg.instance, TwoOperandNumericOperation.MultiplyEval);
-		put(m, PercentPtg.instance, PercentEval.instance);
-		put(m, PowerPtg.instance, TwoOperandNumericOperation.PowerEval);
-		put(m, SubtractPtg.instance, TwoOperandNumericOperation.SubtractEval);
-		put(m, UnaryMinusPtg.instance, UnaryMinusEval.instance);
-		put(m, UnaryPlusPtg.instance, UnaryPlusEval.instance);
-		put(m, RangePtg.instance, RangeEval.instance);
-		put(m, IntersectionPtg.instance, IntersectionEval.instance);
-		return m;
-	}
+		m.put(AddPtg.instance.getSid(), TwoOperandNumericOperation.AddEval); // 0x03
+		m.put(SubtractPtg.instance.getSid(), TwoOperandNumericOperation.SubtractEval); // 0x04
+		m.put(MultiplyPtg.instance.getSid(), TwoOperandNumericOperation.MultiplyEval); // 0x05
+		m.put(DividePtg.instance.getSid(), TwoOperandNumericOperation.DivideEval); // 0x06
+		m.put(PowerPtg.instance.getSid(), TwoOperandNumericOperation.PowerEval); // 0x07
+		m.put(ConcatPtg.instance.getSid(), ConcatEval.instance); // 0x08
+		m.put(LessThanPtg.instance.getSid(), RelationalOperationEval.LessThanEval); // 0x09
+		m.put(LessEqualPtg.instance.getSid(), RelationalOperationEval.LessEqualEval); // 0x0a
+		m.put(EqualPtg.instance.getSid(), RelationalOperationEval.EqualEval); // 0x0b
+		m.put(GreaterEqualPtg.instance.getSid(), RelationalOperationEval.GreaterEqualEval); // 0x0c
+		m.put(GreaterThanPtg.instance.getSid(), RelationalOperationEval.GreaterThanEval); // 0x0D
+		m.put(NotEqualPtg.instance.getSid(), RelationalOperationEval.NotEqualEval); // 0x0e
+		m.put(IntersectionPtg.instance.getSid(), IntersectionEval.instance); // 0x0f
+		m.put(RangePtg.instance.getSid(), RangeEval.instance); // 0x11
+		m.put(UnaryPlusPtg.instance.getSid(), UnaryPlusEval.instance); // 0x12
+		m.put(UnaryMinusPtg.instance.getSid(), UnaryMinusEval.instance); // 0x13
+		m.put(PercentPtg.instance.getSid(), PercentEval.instance); // 0x14
 
-	private static void put(Map<OperationPtg, Function> m, OperationPtg ptgKey,
-			Function instance) {
-		// make sure ptg has single private constructor because map lookups assume singleton keys
-		Constructor<?>[] cc = ptgKey.getClass().getDeclaredConstructors();
-		if (cc.length > 1 || !Modifier.isPrivate(cc[0].getModifiers())) {
-			throw new RuntimeException("Failed to verify instance ("
-					+ ptgKey.getClass().getName() + ") is a singleton.");
-		}
-		m.put(ptgKey, instance);
+		return m;
 	}
 
 	/**
@@ -116,7 +103,7 @@ final class OperationEvaluatorFactory {
 		if(ptg == null) {
 			throw new IllegalArgumentException("ptg must not be null");
 		}
-		Function result = _instancesByPtgClass.get(ptg);
+		Function result = _instancesByPtgClass.get(ptg.getSid());
 		FreeRefFunction udfFunc = null;
 		if (result == null) {
 			if (ptg instanceof AbstractFunctionPtg) {
@@ -149,7 +136,7 @@ final class OperationEvaluatorFactory {
 					return func.evaluateArray(args, ec.getRowIndex(), ec.getColumnIndex());
 				}
 			}
-		                
+
 			return  result.evaluate(args, ec.getRowIndex(), ec.getColumnIndex());
 		} else if (udfFunc != null){
 			return  udfFunc.evaluate(args, ec);

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AddPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AddPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AddPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AddPtg.java Sun Aug 16 16:54:25 2020
@@ -31,8 +31,9 @@ public final class AddPtg extends ValueO
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -41,12 +42,7 @@ public final class AddPtg extends ValueO
 
    /** implementation of method from OperationsPtg*/
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-
-        buffer.append(operands[ 0 ]);
-        buffer.append(ADD);
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+        return operands[0] + ADD + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area2DPtgBase.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area2DPtgBase.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area2DPtgBase.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area2DPtgBase.java Sun Aug 16 16:54:25 2020
@@ -43,8 +43,6 @@ public abstract class Area2DPtgBase exte
 		readCoordinates(in);
 	}
 
-	protected abstract byte getSid();
-
 	public final void write(LittleEndianOutput out) {
 		out.writeByte(getSid() + getPtgClass());
 		writeCoordinates(out);

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java Sun Aug 16 16:54:25 2020
@@ -78,6 +78,11 @@ public final class Area3DPtg extends Are
 	}
 
 	@Override
+	public byte getSid() {
+		return sid;
+	}
+
+	@Override
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java Sun Aug 16 16:54:25 2020
@@ -99,6 +99,11 @@ public final class Area3DPxg extends Are
         return sb.toString();
     }
 
+    @Override
+    public byte getSid() {
+        return -1;
+    }
+
     public int getSize() {
         return 1;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaErrPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaErrPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaErrPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaErrPtg.java Sun Aug 16 16:54:25 2020
@@ -58,6 +58,11 @@ public final class AreaErrPtg extends Op
 		return Ptg.CLASS_REF;
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return 9;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaNPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaNPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaNPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaNPtg.java Sun Aug 16 16:54:25 2020
@@ -34,7 +34,8 @@ public final class AreaNPtg extends Area
 		super(in);
 	}
 
-	protected byte getSid() {
+	@Override
+	public byte getSid() {
 		return sid;
 	}
 

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java Sun Aug 16 16:54:25 2020
@@ -43,7 +43,7 @@ public final class AreaPtg extends Area2
     }
 
 	@Override
-	protected byte getSid() {
+	public byte getSid() {
 		return sid;
 	}
 

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayInitialPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayInitialPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayInitialPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayInitialPtg.java Sun Aug 16 16:54:25 2020
@@ -95,4 +95,9 @@ final class ArrayInitialPtg extends Ptg
 			"reserved2", () -> _reserved2
 		);
 	}
+
+	@Override
+	public byte getSid() {
+		return -1;
+	}
 }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ArrayPtg.java Sun Aug 16 16:54:25 2020
@@ -164,6 +164,11 @@ public final class ArrayPtg extends Ptg
 			+ ConstantValueParser.getEncodedSize(_arrayValues);
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public String toFormulaString() {
 		StringBuilder b = new StringBuilder();
 		b.append("{");

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AttrPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AttrPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AttrPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AttrPtg.java Sun Aug 16 16:54:25 2020
@@ -186,6 +186,11 @@ public final class AttrPtg extends Contr
         }
     }
 
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
     public int getSize() {
         if (_jumpTable != null) {
             return SIZE + (_jumpTable.length + 1) * LittleEndianConsts.SHORT_SIZE;

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/BoolPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/BoolPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/BoolPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/BoolPtg.java Sun Aug 16 16:54:25 2020
@@ -56,6 +56,11 @@ public final class BoolPtg extends Scala
 		out.writeByte(_value ? 1 : 0);
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ConcatPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ConcatPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ConcatPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ConcatPtg.java Sun Aug 16 16:54:25 2020
@@ -28,8 +28,9 @@ public final class ConcatPtg extends Val
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -37,12 +38,7 @@ public final class ConcatPtg extends Val
     }
 
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-
-        buffer.append(operands[ 0 ]);
-        buffer.append(CONCAT);
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+        return operands[0] + CONCAT + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Deleted3DPxg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Deleted3DPxg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Deleted3DPxg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Deleted3DPxg.java Sun Aug 16 16:54:25 2020
@@ -78,9 +78,15 @@ public final class Deleted3DPxg extends
         return Ptg.CLASS_VALUE;
     }
 
+    @Override
+    public byte getSid() {
+        return -1;
+    }
+
     public int getSize() {
         return 1;
     }
+
     public void write(LittleEndianOutput out) {
         throw new IllegalStateException("XSSF-only Ptg, should not be serialised");
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedArea3DPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedArea3DPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedArea3DPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedArea3DPtg.java Sun Aug 16 16:54:25 2020
@@ -59,6 +59,12 @@ public final class DeletedArea3DPtg exte
 	public byte getDefaultOperandClass() {
 		return Ptg.CLASS_REF;
 	}
+
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return 11;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedRef3DPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedRef3DPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedRef3DPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DeletedRef3DPtg.java Sun Aug 16 16:54:25 2020
@@ -59,6 +59,12 @@ public final class DeletedRef3DPtg exten
 	public byte getDefaultOperandClass() {
 		return Ptg.CLASS_REF;
 	}
+
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return 7;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DividePtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DividePtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DividePtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/DividePtg.java Sun Aug 16 16:54:25 2020
@@ -29,8 +29,9 @@ public final class DividePtg extends Val
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -38,12 +39,7 @@ public final class DividePtg extends Val
     }
 
      public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-
-        buffer.append(operands[ 0 ]);
-        buffer.append("/");
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+         return operands[0] + "/" + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/EqualPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/EqualPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/EqualPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/EqualPtg.java Sun Aug 16 16:54:25 2020
@@ -30,8 +30,9 @@ public final class EqualPtg extends Valu
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -39,13 +40,7 @@ public final class EqualPtg extends Valu
     }
 
     public String toFormulaString(String[] operands) {
-         StringBuilder buffer = new StringBuilder();
-
-
-        buffer.append(operands[ 0 ]);
-        buffer.append("=");
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+        return operands[0] + "=" + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ErrPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ErrPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ErrPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ErrPtg.java Sun Aug 16 16:54:25 2020
@@ -69,6 +69,11 @@ public final class ErrPtg extends Scalar
         return FormulaError.forInt(field_1_error_code).getString();
     }
 
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
     public int getSize() {
         return SIZE;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ExpPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ExpPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ExpPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ExpPtg.java Sun Aug 16 16:54:25 2020
@@ -49,6 +49,11 @@ public final class ExpPtg extends Contro
     }
 
     @Override
+    public byte getSid() {
+        return sid;
+    }
+
+    @Override
     public int getSize() {
         return SIZE;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncPtg.java Sun Aug 16 16:54:25 2020
@@ -49,6 +49,11 @@ public final class FuncPtg extends Abstr
         out.writeShort(getFunctionIndex());
     }
 
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
     public int getSize() {
         return SIZE;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncVarPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncVarPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncVarPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/FuncVarPtg.java Sun Aug 16 16:54:25 2020
@@ -88,6 +88,11 @@ public final class FuncVarPtg extends Ab
         out.writeShort(getFunctionIndex());
     }
 
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
     public int getSize() {
         return SIZE;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterEqualPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterEqualPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterEqualPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterEqualPtg.java Sun Aug 16 16:54:25 2020
@@ -31,8 +31,9 @@ public final class GreaterEqualPtg exten
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -40,14 +41,7 @@ public final class GreaterEqualPtg exten
     }
 
     public String toFormulaString(String[] operands) {
-         StringBuilder buffer = new StringBuilder();
-
-        buffer.append(operands[ 0 ]);
-
-        buffer.append(">=");
-        buffer.append(operands[ 1 ]);
-
-        return buffer.toString();
+        return operands[0] + ">=" + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterThanPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterThanPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterThanPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/GreaterThanPtg.java Sun Aug 16 16:54:25 2020
@@ -31,8 +31,9 @@ public final class GreaterThanPtg extend
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     /**
@@ -48,14 +49,8 @@ public final class GreaterThanPtg extend
      * @param operands a String array of operands
      * @return String the Formula as a String
      */
-    public String toFormulaString(String[] operands)
-    {
-        StringBuilder buffer = new StringBuilder();
-
-        buffer.append(operands[ 0 ]);
-        buffer.append(GREATERTHAN);
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+    public String toFormulaString(String[] operands) {
+        return operands[0] + GREATERTHAN + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntPtg.java Sun Aug 16 16:54:25 2020
@@ -66,6 +66,11 @@ public final class IntPtg extends Scalar
 		out.writeShort(getValue());
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntersectionPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntersectionPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntersectionPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/IntersectionPtg.java Sun Aug 16 16:54:25 2020
@@ -32,6 +32,11 @@ public final class IntersectionPtg exten
 		return true;
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return 1;
 	}
@@ -45,12 +50,7 @@ public final class IntersectionPtg exten
 	}
 
 	public String toFormulaString(String[] operands) {
-		StringBuilder buffer = new StringBuilder();
-
-		buffer.append(operands[0]);
-		buffer.append(" ");
-		buffer.append(operands[1]);
-		return buffer.toString();
+		return operands[0] + " " + operands[1];
 	}
 
 	public int getNumberOfOperands() {

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessEqualPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessEqualPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessEqualPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessEqualPtg.java Sun Aug 16 16:54:25 2020
@@ -33,8 +33,9 @@ public final class LessEqualPtg extends
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -42,11 +43,7 @@ public final class LessEqualPtg extends
     }
 
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-        buffer.append( operands[0] );
-        buffer.append("<=");
-        buffer.append( operands[1] );
-        return buffer.toString();
+        return operands[0] + "<=" + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessThanPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessThanPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessThanPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/LessThanPtg.java Sun Aug 16 16:54:25 2020
@@ -35,8 +35,9 @@ public final class LessThanPtg extends V
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     /**
@@ -52,13 +53,8 @@ public final class LessThanPtg extends V
      * @param operands a String array of operands
      * @return String the Formula as a String
      */
-    public String toFormulaString(String[] operands)
-    {
-        StringBuilder buffer = new StringBuilder();
-        buffer.append(operands[ 0 ]);
-        buffer.append(LESSTHAN);
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+    public String toFormulaString(String[] operands) {
+        return operands[0] + LESSTHAN + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemAreaPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemAreaPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemAreaPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemAreaPtg.java Sun Aug 16 16:54:25 2020
@@ -52,6 +52,11 @@ public final class MemAreaPtg extends Op
 		out.writeShort(field_2_subex_len);
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemErrPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemErrPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemErrPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemErrPtg.java Sun Aug 16 16:54:25 2020
@@ -47,6 +47,11 @@ public final class MemErrPtg extends Ope
 		out.writeShort(field_2_subex_len);
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemFuncPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemFuncPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemFuncPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MemFuncPtg.java Sun Aug 16 16:54:25 2020
@@ -41,6 +41,11 @@ public final class MemFuncPtg extends Op
 		field_1_len_ref_subexpression = subExprLen;
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return 3;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MissingArgPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MissingArgPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MissingArgPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MissingArgPtg.java Sun Aug 16 16:54:25 2020
@@ -40,6 +40,11 @@ public final class MissingArgPtg extends
 		out.writeByte(sid + getPtgClass());
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MultiplyPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MultiplyPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MultiplyPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/MultiplyPtg.java Sun Aug 16 16:54:25 2020
@@ -29,8 +29,9 @@ public final class MultiplyPtg extends V
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -38,12 +39,7 @@ public final class MultiplyPtg extends V
     }
 
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-
-        buffer.append(operands[ 0 ]);
-        buffer.append("*");
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+        return operands[0] + "*" + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NamePtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NamePtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NamePtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NamePtg.java Sun Aug 16 16:54:25 2020
@@ -71,6 +71,11 @@ public final class NamePtg extends Opera
 	}
 
 	@Override
+	public byte getSid() {
+		return sid;
+	}
+
+	@Override
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPtg.java Sun Aug 16 16:54:25 2020
@@ -70,6 +70,11 @@ public final class NameXPtg extends Oper
 		out.writeShort(_reserved);
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPxg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPxg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPxg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NameXPxg.java Sun Aug 16 16:54:25 2020
@@ -94,6 +94,11 @@ public final class NameXPxg extends Oper
         return Ptg.CLASS_VALUE;
     }
 
+    @Override
+    public byte getSid() {
+        return -1;
+    }
+
     public int getSize() {
         return 1;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NotEqualPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NotEqualPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NotEqualPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NotEqualPtg.java Sun Aug 16 16:54:25 2020
@@ -29,8 +29,9 @@ public final class NotEqualPtg extends V
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -38,14 +39,7 @@ public final class NotEqualPtg extends V
     }
 
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-
-        buffer.append( operands[0] );
-
-        buffer.append("<>");
-        buffer.append( operands[1] );
-
-        return buffer.toString();
+        return operands[0] + "<>" + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NumberPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NumberPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NumberPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/NumberPtg.java Sun Aug 16 16:54:25 2020
@@ -62,6 +62,11 @@ public final class NumberPtg extends Sca
 		out.writeDouble(getValue());
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ParenthesisPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ParenthesisPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ParenthesisPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ParenthesisPtg.java Sun Aug 16 16:54:25 2020
@@ -42,6 +42,11 @@ public final class ParenthesisPtg extend
 		out.writeByte(sid + getPtgClass());
 	}
 
+	@Override
+	public byte getSid() {
+		return sid;
+	}
+
 	public int getSize() {
 		return SIZE;
 	}

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PercentPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PercentPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PercentPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PercentPtg.java Sun Aug 16 16:54:25 2020
@@ -32,8 +32,9 @@ public final class PercentPtg extends Va
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -41,11 +42,7 @@ public final class PercentPtg extends Va
     }
 
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-
-        buffer.append(operands[ 0 ]);
-        buffer.append(PERCENT);
-        return buffer.toString();
+        return operands[0] + PERCENT;
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PowerPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PowerPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PowerPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/PowerPtg.java Sun Aug 16 16:54:25 2020
@@ -26,8 +26,9 @@ public final class PowerPtg extends Valu
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -35,13 +36,7 @@ public final class PowerPtg extends Valu
     }
 
     public String toFormulaString(String[] operands) {
-         StringBuilder buffer = new StringBuilder();
-
-
-        buffer.append(operands[ 0 ]);
-        buffer.append("^");
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+        return operands[0] + "^" + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ptg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ptg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ptg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ptg.java Sun Aug 16 16:54:25 2020
@@ -319,4 +319,9 @@ public abstract class Ptg implements Dup
 
 	@Override
 	public abstract Ptg copy();
+
+	/**
+	 * @return structure id of the parsed thing, or {@code -1} if the record has no sid
+	 */
+	public abstract byte getSid();
 }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RangePtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RangePtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RangePtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RangePtg.java Sun Aug 16 16:54:25 2020
@@ -34,8 +34,12 @@ public final class RangePtg  extends Ope
         return true;
     }
 
-    public int getSize()
-    {
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
+    public int getSize() {
         return SIZE;
     }
 
@@ -50,14 +54,8 @@ public final class RangePtg  extends Ope
 
 
     /** implementation of method from OperationsPtg*/
-    public String toFormulaString(String[] operands)
-    {
-         StringBuilder buffer = new StringBuilder();
-
-         buffer.append(operands[ 0 ]);
-         buffer.append(":");
-         buffer.append(operands[ 1 ]);
-         return buffer.toString();
+    public String toFormulaString(String[] operands) {
+        return operands[0] + ":" + operands[1];
      }
 
     public int getNumberOfOperands()

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref2DPtgBase.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref2DPtgBase.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref2DPtgBase.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref2DPtgBase.java Sun Aug 16 16:54:25 2020
@@ -55,8 +55,6 @@ abstract class Ref2DPtgBase extends RefP
 		return formatReferenceAsString();
 	}
 
-	protected abstract byte getSid();
-
 	@Override
     public final int getSize() {
 		return SIZE;

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPtg.java Sun Aug 16 16:54:25 2020
@@ -67,6 +67,11 @@ public final class Ref3DPtg extends RefP
         writeCoordinates(out);
     }
 
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
     public int getSize() {
         return SIZE;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPxg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPxg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPxg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Ref3DPxg.java Sun Aug 16 16:54:25 2020
@@ -98,6 +98,11 @@ public final class Ref3DPxg extends RefP
         return sb.toString();
     }
 
+    @Override
+    public byte getSid() {
+        return -1;
+    }
+
     public int getSize() {
         return 1;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefErrorPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefErrorPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefErrorPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefErrorPtg.java Sun Aug 16 16:54:25 2020
@@ -52,8 +52,12 @@ public final class RefErrorPtg extends O
         out.writeInt(field_1_reserved);
     }
 
-    public int getSize()
-    {
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
+    public int getSize() {
         return SIZE;
     }
 

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefNPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefNPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefNPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefNPtg.java Sun Aug 16 16:54:25 2020
@@ -31,9 +31,10 @@ public final class RefNPtg extends Ref2D
 	    super(other);
     }
 
-	protected byte getSid() {
-		return sid;
-	}
+    @Override
+    public byte getSid() {
+        return sid;
+    }
 
     protected final String formatReferenceAsString() {
         StringBuilder builder = new StringBuilder();

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/RefPtg.java Sun Aug 16 16:54:25 2020
@@ -50,7 +50,8 @@ public final class RefPtg extends Ref2DP
 		super(cr);
 	}
 
-	protected byte getSid() {
+	@Override
+	public byte getSid() {
 		return sid;
 	}
 

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/StringPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/StringPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/StringPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/StringPtg.java Sun Aug 16 16:54:25 2020
@@ -84,6 +84,11 @@ public final class StringPtg extends Sca
         }
     }
 
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
     public int getSize() {
     	return 3 +  field_3_string.length() * (_is16bitUnicode ? 2 : 1);
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/SubtractPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/SubtractPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/SubtractPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/SubtractPtg.java Sun Aug 16 16:54:25 2020
@@ -26,8 +26,9 @@ public final class SubtractPtg extends V
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -35,12 +36,7 @@ public final class SubtractPtg extends V
     }
 
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-
-        buffer.append(operands[ 0 ]);
-        buffer.append("-");
-        buffer.append(operands[ 1 ]);
-        return buffer.toString();
+        return operands[0] + "-" + operands[1];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/TblPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/TblPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/TblPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/TblPtg.java Sun Aug 16 16:54:25 2020
@@ -58,6 +58,11 @@ public final class TblPtg extends Contro
         out.writeShort(field_2_first_col);
     }
 
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
     public int getSize() {
         return SIZE;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryMinusPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryMinusPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryMinusPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryMinusPtg.java Sun Aug 16 16:54:25 2020
@@ -31,8 +31,9 @@ public final class UnaryMinusPtg extends
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -41,10 +42,7 @@ public final class UnaryMinusPtg extends
 
    /** implementation of method from OperationsPtg*/
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-        buffer.append(MINUS);
-        buffer.append(operands[ 0]);
-        return buffer.toString();
+        return MINUS + operands[0];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryPlusPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryPlusPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryPlusPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnaryPlusPtg.java Sun Aug 16 16:54:25 2020
@@ -31,8 +31,9 @@ public final class UnaryPlusPtg extends
     	// enforce singleton
     }
 
-    protected byte getSid() {
-    	return sid;
+    @Override
+    public byte getSid() {
+        return sid;
     }
 
     public int getNumberOfOperands() {
@@ -41,10 +42,7 @@ public final class UnaryPlusPtg extends
 
    /** implementation of method from OperationsPtg*/
     public String toFormulaString(String[] operands) {
-        StringBuilder buffer = new StringBuilder();
-        buffer.append(ADD);
-        buffer.append(operands[ 0]);
-        return buffer.toString();
+        return ADD + operands[0];
     }
 
     @Override

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnionPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnionPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnionPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnionPtg.java Sun Aug 16 16:54:25 2020
@@ -36,8 +36,12 @@ public final class UnionPtg extends Oper
         return true;
     }
 
-    public int getSize()
-    {
+    @Override
+    public byte getSid() {
+        return sid;
+    }
+
+    public int getSize() {
         return 1;
     }
 
@@ -52,14 +56,8 @@ public final class UnionPtg extends Oper
 
 
     /** implementation of method from OperationsPtg*/
-    public String toFormulaString(String[] operands)
-    {
-         StringBuilder buffer = new StringBuilder();
-
-         buffer.append(operands[ 0 ]);
-         buffer.append(",");
-         buffer.append(operands[ 1 ]);
-         return buffer.toString();
+    public String toFormulaString(String[] operands) {
+        return operands[0] + "," + operands[1];
      }
 
     public int getNumberOfOperands()

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnknownPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnknownPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnknownPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/UnknownPtg.java Sun Aug 16 16:54:25 2020
@@ -22,7 +22,7 @@ import java.util.function.Supplier;
 import org.apache.poi.util.LittleEndianOutput;
 
 public class UnknownPtg extends Ptg {
-    private short size = 1;
+    private final short size = 1;
     private final int _sid;
 
     public UnknownPtg(int sid) {
@@ -36,6 +36,11 @@ public class UnknownPtg extends Ptg {
         out.writeByte(_sid);
     }
 
+    @Override
+    public byte getSid() {
+        return (byte)_sid;
+    }
+
     public int getSize() {
         return size;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ValueOperatorPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ValueOperatorPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ValueOperatorPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/ValueOperatorPtg.java Sun Aug 16 16:54:25 2020
@@ -43,8 +43,6 @@ public abstract class ValueOperatorPtg e
 		out.writeByte(getSid());
 	}
 
-	protected abstract byte getSid();
-
 	public final int getSize() {
 		return 1;
 	}

Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAbstractFunctionPtg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAbstractFunctionPtg.java?rev=1880903&r1=1880902&r2=1880903&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAbstractFunctionPtg.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAbstractFunctionPtg.java Sun Aug 16 16:54:25 2020
@@ -49,6 +49,11 @@ public class TestAbstractFunctionPtg  {
             super(functionIndex, pReturnClass, paramTypes, nParams);
         }
 
+        @Override
+        public byte getSid() {
+            return -1;
+        }
+
         public int getSize() {
             return 0;
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org