|This section explains the Java annotations used when developing with the Sentinel IP-SM-GW SDK.|
Background on annotations in the Sentinel IP-SM-GW SDK
Java annotations are used to define component metadata. When modules are built, the annotations are processed by the slee-annotation-processor. All OpenCloud annotations are scoped to the class file, that is, they exist in both the source file and the Java compiler-generated class files. Therefore, they can be inspected by various tools that operate on class files.
In the Sentinel IP-SM-GW SDK Java annotations are used to produce
JSLEE standard deployment descriptor files
OpenCloud extended deployment descriptor files
OpenCloud Sentinel JSON bindings metadata files
OpenCloud Sentinel provisioning metadata
OpenCloud Sentinel metadata files.
All of the above files are produced by the default
build.xml when a module is compiled.
Variables in annotation source code
The annotation processor supports the use of variables in Java annotations. The variables are substituted to values at build time.
The source code for the annotation includes the variable; whereas the class file contains the variable translated into a constant.
Annotation variables are always quoted, and begin and end with the
Here’s an example of a variable, the
@LibraryReference(library = @ComponentId(name = "ExampleLibrary", vendor = "ExampleVendor", version ="@VariableVersion@"))
If variables cannot be substituted, the annotation processor fails at compile time, noting the name of the unsubstituted variable.
SLEE annotations provide functionality for developing SLEE components, covering the JSLEE 1.1 specification, and OpenCloud extensions.
See the SLEE Annotations Javadoc.
Sentinel annotations provide functionality for developing Sentinel components. Sentinel components are also SLEE components, so the SLEE Annotations Javadoc is a useful source (see above).
See the Sentinel Annotations Javadoc.
Setting up your IDE to view annotations
The most productive way to view the content of annotations is to view them inside an IDE that supports Java annotations.
If you are an Eclipse user, type
ant eclipse-setup in the root of your SDK. Then, each time you add a module, type
ant eclipse-setup in the root again. Dependency discovery for the generated Eclipse project requires the SDK to have been fully built with
ant publish-local in the root of the SDK.
If you are an Idea user, type
ant idea-setup in the root of your SDK. Then, each time you add a module, type
ant idea-setup in the root again.
To view annotation content without using an IDE, please refer to the Javadoc.
Examples of annotations in real modules
The Sentinel IP-SM-GW SDK includes several features, libraries, profiles, and so one throughout its module packs.
To view available module packs, use the
sdkadm command, and type
You can create modules from different module packs using the
create-module command within
sdkadm; and then look at the contents of the various
For more about modules, see Modules in the Sentinel IP-SM-GW SDK
Also, the Creating a feature section includes inline source code for several modules. These include annotations.