Create a First Application
Now that the purposes of the Sandboxed Applications have been explained, let’s create a first application.
A Sandboxed Application project can be created in the SDK with the menu File > New > Sandboxed Application Project.
The project creation window is displayed:
Once the Application information are fulfilled and validated, the project is created with the following structure:
src/main/java
Application Java sources;
src/main/resources
Application resources (raw resources, images, fonts, nls);
module.ivy
Module description file, containing build information and dependencies of the project.
The next sections describe the required files to have your first basic Application.
Entry Point
A Sandboxed Application must contain a class implementing the ej.kf.FeatureEntryPoint
interface in the src/main/java
folder:
package com.mycompany;
import ej.kf.FeatureEntryPoint;
public class MyApplication implements FeatureEntryPoint {
@Override
public void start() {
System.out.println("Feature MyApplication started!");
}
@Override
public void stop() {
System.out.println("Feature MyApplication stopped!");
}
}
This class is the entry point of the Application.
The method start
is called when the Application is started.
It is considered as the main method of the Sandboxed Application.
The method stop
is called when the Application is stopped.
Please refer to the Sandboxed Application Lifecycle chapter to learn more about the Applications lifecycle.
The src/main/java
folder is also the place to add all the other Java classes of the Application.
Configuration
A Sandboxed Application project must contain a file with the .kf
extension in the src/main/resources
folder.
This file contains the configuration of the Application.
Here is an example:
name=MyApplication
entryPoint=com.mycompany.MyApplication
types=*
version=0.1.0
It contains the following properties:
name: the name of the Application
entryPoint: the Full Qualified Name of the class implementing
ej.kf.FeatureEntryPoint
types: this property defined the types included in the Application and must always be
*
(do not forget the space at the end)version: the version of the Application
SSL Certificate
A Sandboxed Application requires a certificate for identification.
It must be located in the src/main/resources
folder of the project.
The project created by the SDK provides a sample certificate.
This certificate is sufficient for testing, but it is recommended to provide your own.
Module Descriptor
The module.ivy
file is the Module description file which contains the project information
and declares all the libraries required by the Application.
See MicroEJ Module Manager for more information.
The dependencies must contain at least a module containing the ej.kf.FeatureEntryPoint
class, for example the KF library:
implementation("ej.api:kf:1.7.0")
<dependency org="ej.api" name="kf" rev="1.7.0" />