JEMM Limitations

Some aspects of Java are more difficult to support than others. Unfortunately not everything works perfectly as the framework is still in development. JEMM programs will behave inconsistently/crash if certain features are used. Most of the language features which currently don't work below will be added in future releases.

Current JEMM Model Rules

When you implement your model with JEMM you must obey some rules. These are as follows

A model class:

  • must be annotated with the @Entity annotation.
  • must either extend Object, or another model class.
  • can only have fields which are: * basic types (String,int,boolean,...) * references to other model classes * JEMM Collections.
  • must declare all object fields as protected or private. String and int,long,double,float,boolean,char,... can be public but read only.
  • static fields on classes are not jemm persisted at all.
  • cannot use volatile fields, use synchronization instead.
  • arrays of any type are not supported, use JEMMList instead.
  • do not use wait/notify, these will not work as expected (i.e. they will not work across JVMs). Use a threaded producer and consumer instead.