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 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.
 ComputationMode computationMode
          Tells AFC to calculate expressions as for example Excel or OpenOffice does.
 Class factoryClass
          Specifies either a class from which to descend the generated computation factory, or an interface which the generated factory should implement.
 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.
 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 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 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 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.

Constructor Detail

SpreadsheetToEngineCompiler.Config

public SpreadsheetToEngineCompiler.Config()
Method Detail

validate

public void validate()
Validates the configuration.

Throws:
IllegalArgumentException