Package org.apache.poi.ss.formula.functions

Examples of org.apache.poi.ss.formula.functions.FreeRefFunction


     throw new RuntimeException("Not implemented yet");
  }

  public NameXPtg getNameXPtg(String name) {
        IndexedUDFFinder udfFinder = (IndexedUDFFinder)getUDFFinder();
        FreeRefFunction func = udfFinder.findFunction(name);
    if(func == null) return null;
        else return new NameXPtg(0, udfFinder.getFunctionIndex(name));
  }
View Full Code Here


      functionName = ec.getWorkbook().resolveNameXText(((NameXEval) nameArg).getPtg());
    } else {
      throw new RuntimeException("First argument should be a NameEval, but got ("
          + nameArg.getClass().getName() + ")");
    }
    FreeRefFunction targetFunc = ec.findUserDefinedFunction(functionName);
    if (targetFunc == null) {
      throw new NotImplementedException(functionName);
    }
    int nOutGoingArgs = nIncomingArgs -1;
    ValueEval[] outGoingArgs = new ValueEval[nOutGoingArgs];
    System.arraycopy(args, 1, outGoingArgs, 0, nOutGoingArgs);
    return targetFunc.evaluate(outGoingArgs, ec);
  }
View Full Code Here

        return m;
    }

    private static void r(Map<String, FreeRefFunction> m, String functionName, FreeRefFunction pFunc) {
        FreeRefFunction func = pFunc == null ? new NotImplemented(functionName) : pFunc;
        m.put(functionName, func);
    }
View Full Code Here

     */
    public static Collection<String> getSupportedFunctionNames(){
        AnalysisToolPak inst = (AnalysisToolPak)instance;
        Collection<String> lst = new TreeSet<String>();
        for(String name : inst._functionsByName.keySet()){
            FreeRefFunction func = inst._functionsByName.get(name);
            if(func != null && !(func instanceof NotImplemented)){
                lst.add(name);
            }
        }
        return Collections.unmodifiableCollection(lst);
View Full Code Here

     */
    public static Collection<String> getNotSupportedFunctionNames(){
        AnalysisToolPak inst = (AnalysisToolPak)instance;
        Collection<String> lst = new TreeSet<String>();
        for(String name : inst._functionsByName.keySet()){
            FreeRefFunction func = inst._functionsByName.get(name);
            if(func != null && (func instanceof NotImplemented)){
                lst.add(name);
            }
        }
        return Collections.unmodifiableCollection(lst);
View Full Code Here

                        "Use FunctoinEval.registerFunction(String name, Function func) instead.");
            } else {
                throw new IllegalArgumentException(name + " is not a function from the Excel Analysis Toolpack.");
            }
        }
        FreeRefFunction f = inst.findFunction(name);
        if(f != null && !(f instanceof NotImplemented)) {
            throw new IllegalArgumentException("POI already implememts " + name +
                    ". You cannot override POI's implementations of Excel functions");
        }
View Full Code Here

   *
   * @param name Name of function.
   * @return Function executor. <code>null</code> if not found
   */
  public FreeRefFunction findFunction(String name) {
    FreeRefFunction evaluatorForFunction;
    for (UDFFinder pack : _usedToolPacks) {
      evaluatorForFunction = pack.findFunction(name);
      if (evaluatorForFunction != null) {
        return evaluatorForFunction;
      }
View Full Code Here

            fail("expectecd exception");
        } catch (NotImplementedException e) {
            ;
        }

        AnalysisToolPak.registerFunction("CUBEMEMBERPROPERTY", new FreeRefFunction() {
            public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {
                return ErrorEval.NUM_ERROR;
            }
        });
View Full Code Here

        } catch (IllegalArgumentException e){
            assertEquals("ISODD is a function from the Excel Analysis Toolpack. " +
                    "Use AnalysisToolpack.registerFunction(String name, FreeRefFunction func) instead.", e.getMessage());
        }

        FreeRefFunction atpFunc = new FreeRefFunction() {
            public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {
                return ErrorEval.NUM_ERROR;
            }
        };
        try {
View Full Code Here

    public void testAddNameX(){
        InternalWorkbook wb = TestHSSFWorkbook.getInternalWorkbook(new HSSFWorkbook());
        assertNotNull(wb.getNameXPtg("ISODD", UDFFinder.DEFAULT));

        FreeRefFunction NotImplemented = new FreeRefFunction() {
            public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {
                throw new RuntimeException("not implemented");
            }
        };
View Full Code Here

TOP

Related Classes of org.apache.poi.ss.formula.functions.FreeRefFunction

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.