PlasticRelease Notes

Plastic is a support library that aids Fantom-Factory Ltd in the development of other libraries, frameworks and applications. Though you are welcome to use it, you may find features are missing and the documentation incomplete.



  • Chg: Removed dependency on BeanUtils.
  • Chg: Added toStr() methods to model classes.


  • Chg: A default it-block ctor is not added if class has a superclass.


  • New: afPlastic now available as a SkySpark extension.


  • New: PlasticCompiler.compileCodeToPodFile() creates pod files.
  • New: PlasticCompiler.podBaseName field for default pod names.
  • New: PlasticCompiler.compileCode() now takes an optional srcCodeLocation parameter.
  • Chg: Made better use of StrBufs when generating Fantom code.


  • New: Can override ctors.
  • Chg: Tweaked SrcCodeErr and added linesOfPadding. (Breaking change.)
  • Chg: Added a non-invasive module for use with IoC v3.
  • Chg: Gave Plastic a dependency on compilerJava so it ships with a default (and most common) FFI bridge.
  • Chg: Ctors may call super ctors.
  • Chg: Guessing param defaults for method overrides now makes use of Method.paramDef(...) from Fantom 1.0.68.
  • Bug: PlasticCompiler could not wrap a CompilerErr with a null line number.



  • Bug: Java types could not be used as fields or method return types. See BitBucket Issue: Error using java class
  • Bug: Fields could not have get and set bodies with an initial value.



  • New: Plastic now attempts to guess the default values for overridden methods.
  • New: Compiled Pod code is logged at debug level.
  • Chg: Now depends on Bean Utils for guessing the default values.


  • New: Added PlasticCompiler.compileModels() for compiling multiple models at once.
  • Chg: Deprecated PlasticClassModel.extendClass() and PlasticClassModel.extendMixin() in favour of a single extend() method.
  • Chg: Exposed the lists in PlasticClassModel.


  • New: Added PlasticUsingModel.



  • New: Added PlasticFacetModel to classes, ctors, methods and fields.
  • New: Added PlasticClassModel.hasField(Str name)


  • New: Fields can have init values.
  • Chg: the PlasticClassModel add methods now return sub-model classes.
  • Chg: Fantom compilation is silent to reduce noise on std out. We raise afPlastic Errs in event of a compilation failure.
  • Bug: Fields can not be const if they have a getter.


  • New: Added ctor models.
  • New: Updates to ensure backwards compatibility with IoC.
  • Chg: Made PlasticCompiler.srcCodePadding mutable so it may be (re)set by afBedSheet.
  • Chg: Added msg() to SrcCodeErr so Err msgs can be reported.
  • Bug: The wrong compilation line could be reported in PlasticErr.toStr()


  • New: Initial release.
  • Chg: Plastic was jail breaked from IoC and updated for use by efan