@Documented @Retention(value=RUNTIME) @Target(value={TYPE,METHOD}) public @interface Platform
A class or method annotated with only value() or not()
lets Generator know for which platforms it should generate code
(or not). The strings are matched with String.startsWith(String).
In particular, @Platform(value="") matches all platforms, while
@Platform(not="") matches no platforms, providing a way to specify
methods to skip or classes to ignore, as if they did not exist.
Classes annotated with at least one of the other values define a top-enclosing
class as returned by Loader.getEnclosingClass(Class). By default, one
native library gets created for each such class, but Builder recognizes
more than one class with the same library() name and produces only one
library in that case.
Further, with the Properties annotation, properties can be inherited
from other classes, and different properties can be defined for each platform.
| Modifier and Type | Optional Element and Description |
|---|---|
String[] |
cinclude
A list of C header files to include at the top of the generated code.
|
String[] |
compiler
A list of options applied for the native compiler.
|
String[] |
define
A list of macros to
#define at the top of the generated code,
before include() and cinclude() header files. |
String[] |
framework
A list of frameworks the native compiler should build against.
|
String[] |
frameworkpath
A list of framework paths passed to the native compiler for use at link time.
|
String[] |
include
A list of C++ header files to include at the top of the generated code.
|
String[] |
includepath
A list of include paths passed to the native compiler.
|
String |
library
|
String[] |
link
A list of libraries the native compiler should link with.
|
String[] |
linkpath
A list of library paths passed to the native compiler for use at link time.
|
String[] |
not
The properties, class, or method do NOT apply to the named platforms.
|
String[] |
pragma
A list of
pragma directives to list at the top of the generated
code, before define() macros and any included header files. |
String[] |
preload
A list of libraries, in addition to
link(), that should be
extracted and preloaded, if possible. |
String[] |
preloadpath
|
String[] |
value
The properties, class, or method apply only to the named platforms.
|
public abstract String[] value
String.startsWith(String)public abstract String[] not
String.startsWith(String)public abstract String[] define
#define at the top of the generated code,
before include() and cinclude() header files.public abstract String[] include
public abstract String[] cinclude
#include directives will be generated in a extern "C" { } block.public abstract String[] includepath
public abstract String[] compiler
Builder uses the "platform.compiler.default" property.public abstract String[] linkpath
public abstract String[] link
public abstract String[] frameworkpath
public abstract String[] framework
public abstract String[] preloadpath
public abstract String library
Builder should
try to build and Loader should try to load. If left empty, this value
defaults to "jni" + the name that Class.getSimpleName() returns.Copyright © 2017. All rights reserved.