コード例 #1
0
ファイル: FormulaParser.java プロジェクト: Jondeen/bioformats
 private void setParameterRVA(Node n, int expectedClass, int formulaType) {
   Ptg p = (Ptg) n.getValue();
   if (expectedClass == Ptg.CLASS_REF) { // pg 15, table 1
     if (p.getDefaultOperandClass() == Ptg.CLASS_REF) {
       setClass(n, Ptg.CLASS_REF);
     }
     if (p.getDefaultOperandClass() == Ptg.CLASS_VALUE) {
       if (formulaType == FORMULA_TYPE_CELL || formulaType == FORMULA_TYPE_SHARED) {
         setClass(n, Ptg.CLASS_VALUE);
       } else {
         setClass(n, Ptg.CLASS_ARRAY);
       }
     }
     if (p.getDefaultOperandClass() == Ptg.CLASS_ARRAY) {
       setClass(n, Ptg.CLASS_ARRAY);
     }
   } else if (expectedClass == Ptg.CLASS_VALUE) { // pg 15, table 2
     if (formulaType == FORMULA_TYPE_NAMEDRANGE) {
       setClass(n, Ptg.CLASS_ARRAY);
     } else {
       setClass(n, Ptg.CLASS_VALUE);
     }
   } else { // Array class, pg 16.
     if (p.getDefaultOperandClass() == Ptg.CLASS_VALUE
         && (formulaType == FORMULA_TYPE_CELL || formulaType == FORMULA_TYPE_SHARED)) {
       setClass(n, Ptg.CLASS_VALUE);
     } else {
       setClass(n, Ptg.CLASS_ARRAY);
     }
   }
 }
コード例 #2
0
ファイル: FormulaParser.java プロジェクト: Jondeen/bioformats
 private void setRootLevelRVA(Node n, int formulaType) {
   // Pg 16, excelfileformat.pdf @ openoffice.org
   Ptg p = (Ptg) n.getValue();
   if (formulaType == FormulaParser.FORMULA_TYPE_NAMEDRANGE) {
     if (p.getDefaultOperandClass() == Ptg.CLASS_REF) {
       setClass(n, Ptg.CLASS_REF);
     } else {
       setClass(n, Ptg.CLASS_ARRAY);
     }
   } else {
     setClass(n, Ptg.CLASS_VALUE);
   }
 }