org.formulacompiler.spreadsheet
Class SpreadsheetToEngineCompiler.Config

java.lang.Object
  extended by org.formulacompiler.spreadsheet.SpreadsheetToEngineCompiler.Config
Enclosing interface:
SpreadsheetToEngineCompiler

public static class SpreadsheetToEngineCompiler.Config
extends java.lang.Object

Configuration data for new instances of SpreadsheetToEngineCompiler.

Author:
peo
See Also:
SpreadsheetCompiler.newSpreadsheetCompiler(org.formulacompiler.spreadsheet.SpreadsheetToEngineCompiler.Config)

Field Summary
 SpreadsheetBinding binding
          The spreadsheet binding to use as input, which also identifies the spreadsheet to use.
 boolean compileToReadableCode
          Controls whether AFC should attempt to compile more readable code (when decompiled), possibly at the expense of engine size and performance.
 boolean computationListenerEnabled
          Allows logging intermediate cell values.
 ComputationMode computationMode
          Tells AFC to calculate expressions as for example Excel or OpenOffice does.
 ConstantExpressionOptimizationListener constantExpressionOptimizationListener
          Allows to receive notifications about events during compilation process.
 java.lang.Class factoryClass
          Specifies either a class from which to descend the generated computation factory, or an interface which the generated factory should implement.
 java.lang.reflect.Method factoryMethod
          The method of the factoryClass which AFC should implement to return new computation instances.
 boolean fullCaching
          Controls whether AFC should compile the computation with full internal caching of values, or only (usually minimal) caching at its own discretion.
 NumericType numericType
          The numeric type to use for all internal computations.
 java.lang.ClassLoader parentClassLoader
          The parent class loader to use for the compiled engine.
 
Constructor Summary
SpreadsheetToEngineCompiler.Config()
           
 
Method Summary
 void validate()
          Validates the configuration.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

binding

public SpreadsheetBinding binding
The spreadsheet binding to use as input, which also identifies the spreadsheet to use.


numericType

public NumericType numericType
The numeric type to use for all internal computations.


computationMode

public ComputationMode computationMode
Tells AFC to calculate expressions as for example Excel or OpenOffice does.


factoryClass

public java.lang.Class factoryClass
Specifies either a class from which to descend the generated computation factory, or an interface which the generated factory should implement. Can be left null. If set, must be public, and have at most a single abstract method, which must then be the factoryMethod.


factoryMethod

public java.lang.reflect.Method factoryMethod
The method of the factoryClass which AFC should implement to return new computation instances. Must be specified if and only if a factory class is specified, otherwise leave it null. Must be public, and have a single parameter of the SpreadsheetBinder.Config.inputClass of the spreadsheet binding, and return the SpreadsheetBinder.Config.outputClass of the spreadsheet binding.


fullCaching

public boolean fullCaching
Controls whether AFC should compile the computation with full internal caching of values, or only (usually minimal) caching at its own discretion.


parentClassLoader

public java.lang.ClassLoader parentClassLoader
The parent class loader to use for the compiled engine.


compileToReadableCode

public boolean compileToReadableCode
Controls whether AFC should attempt to compile more readable code (when decompiled), possibly at the expense of engine size and performance.


computationListenerEnabled

public boolean computationListenerEnabled
Allows logging intermediate cell values.


constantExpressionOptimizationListener

public ConstantExpressionOptimizationListener constantExpressionOptimizationListener
Allows to receive notifications about events during compilation process.

Constructor Detail

SpreadsheetToEngineCompiler.Config

public SpreadsheetToEngineCompiler.Config()
Method Detail

validate

public void validate()
Validates the configuration.

Throws:
java.lang.IllegalArgumentException