Package org.formulacompiler.spreadsheet

Contains the public compile-time API of AFC's spreadsheet compiler, which extends the core functional model compiler.


Interface Summary
ConstantExpressionOptimizationListener Allows to receive notifications about events during compilation process.
EngineBuilder Simplified interface to AFC's spreadsheet compiler functionality for the most typical use-cases.
EngineBuilder.Factory Factory interface for ImplementationLocator.getInstance(Class).
Spreadsheet Represents a spreadsheet model in memory.
Spreadsheet.Cell Returns information about a spreadsheet cell.
Spreadsheet.Range Marker interface for a spreadsheet range in the spreadsheet model.
Spreadsheet.Row Returns information about a row.
Spreadsheet.Sheet Returns information about a worksheet.
SpreadsheetBinder Defines the bindings of spreadsheet cells and sections to Java elements.
SpreadsheetBinder.Factory Factory interface for ImplementationLocator.getInstance(Class).
SpreadsheetBinder.Section Represents both the container for the definitions of global spreadsheet cells and instances of horizontal or vertical sections within a spreadsheet.
SpreadsheetBinding Represents the association of spreadsheet cells and ranges to methods of the application's input and output types.
SpreadsheetBuilder This interface allows you to build a spreadsheet representation in memory from scratch.
SpreadsheetBuilder.CellRef Opaque handle for a constructed cell in a spreadsheet, used to reference the cell again in the expression of other, calculated cells.
SpreadsheetBuilder.Constant Opaque handle for a constant value supported by the spreadsheet builder.
SpreadsheetBuilder.ExprNode Opaque handle for an node of an expression tree used to define calculated cells.
SpreadsheetBuilder.Factory Factory interface for ImplementationLocator.getInstance(Class).
SpreadsheetBuilder.RangeRef Opaque handle for a range in a spreadsheet, used to reference the range again in the expression of other, calculated cells.
SpreadsheetByNameBinder Utility interface that supports simple cell binding using the cell names in the spreadsheet and reflection on the input and output types.
SpreadsheetByNameBinder.CellBinder Interface to a cell binder for either input or output cells.
SpreadsheetByNameBinder.Factory Factory interface for ImplementationLocator.getInstance(Class).
SpreadsheetLoader Allows loading of spreadsheets from external sources (like Excel files).
SpreadsheetLoader.Factory Factory interface for ImplementationLocator.getInstance(Class).
SpreadsheetNameCreator Utility interface that supports the creation of cell names from other cells' values.
SpreadsheetNameCreator.Factory Factory interface for ImplementationLocator.getInstance(Class).
SpreadsheetSaver This interface allows you to save a spreadsheet representation.
SpreadsheetSaver.Factory Factory interface for ImplementationLocator.getInstance(Class).
SpreadsheetToEngineCompiler Lets you compile a bound spreadsheet to a Java byte-code computation engine.
SpreadsheetToEngineCompiler.Factory Factory interface for ImplementationLocator.getInstance(Class).

Class Summary
SpreadsheetBinder.Config Configuration data for new instances of SpreadsheetBinder.
SpreadsheetByNameBinder.Config Configuration data for new instances of SpreadsheetByNameBinder.
SpreadsheetCompiler Static class defining factory methods for the various elements of AFC.
SpreadsheetLoader.Config Configuration data for new instances of SpreadsheetLoader.
SpreadsheetNameCreator.Config Configuration data for new instances of SpreadsheetNameCreator.
SpreadsheetSaver.Config Configuration data for new instances of SpreadsheetSaver.
SpreadsheetToEngineCompiler.Config Configuration data for new instances of SpreadsheetToEngineCompiler.

Enum Summary
Orientation Lists the two possible options for the variable extend of a section.

Exception Summary
SpreadsheetException Base class for all spreadsheet-related errors thrown by AFC.
SpreadsheetException.CellRangeNotUniDimensional When a formula gives a range name in a place where a single cell is expected, then the range must be unidimensional.
SpreadsheetException.LoadError An internal spreadsheet model could not be saved.
SpreadsheetException.NameNotFound You attempted to access a cell or range by a name which is not defined.
SpreadsheetException.NotInSection You attempted to define an input or output cell or range within a section, but the cell or range is not fully contained with said section.
SpreadsheetException.SaveError An internal spreadsheet model could not be saved.
SpreadsheetException.SectionExtentNotCovered You are compiling a spreadsheet with an aggregate function over a range that overlaps, but does not exactly match the variable extent of a section.
SpreadsheetException.SectionOverlap You attempted to define a section that overlaps another.
SpreadsheetException.SectionSpan You attempted to aggregate a range that spans cells and/or subsections in an unsupported way.
SpreadsheetException.UnsupportedExpression A cell formula contains a parsing error.
SpreadsheetException.UnsupportedFormat A unsupported spreadsheet file format extension was encountered.

Package org.formulacompiler.spreadsheet Description

Contains the public compile-time API of AFC's spreadsheet compiler, which extends the core functional model compiler. All of the functionality is accessed using the factory methods in SpreadsheetCompiler. This class inherits from FormulaCompiler, which contains only the elements necessary for compiling functional model, as well as loading and using engines at run-time.

For most uses, you should be able to confine yourself to the types defined here and in org.formulacompiler.runtime.

For overviews, tutorials, examples, guides, and tool documentation, please see: