This repository was archived by the owner on Dec 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Java unsupported features
Pierlauro Sciarelli edited this page Dec 2, 2019
·
1 revision
Current version of dataClay has some unsupported features for Java class models. Most significant ones are listed below.
- Non-final static attributes or class attributes. Only final static attributes are supported.
- User-defined interfaces. Only language predefined interfaces can be implemented.
- Non-distributed synchronized. You can code a synchronized method or statement, but they will be only effective in a per-backend basis. That is, synchronize on a method or object will not behave as a distributed lock.
- Assertions. Due to its exceptional behavior, currently we are not providing assert support since it will require special flags to execute JVM on dataClay backends.
- Third-party libraries. You can assume that classes from JDK 1.8 (i.e. java.util.*) are available for your data models, but current version of dataClay does not support the registration of external jar files.
- Handover of lambda functions. Lambdas can only be used in the context of a single execution environment. That is, lambdas cannot be passed in remote execution requests.
- User-defined exceptions. You can throw Java exceptions from methods of your registered class models, but you cannot define your own Exceptions as part of your class model.
- Handover of non-serializable Java classes. They can be used within a method (e.g. Iterators), but cannot be passed as argument or returned as result.