diff options
author | Sven Gothel <[email protected]> | 2013-06-14 04:40:39 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-06-14 04:40:39 +0200 |
commit | a7802a2ab90a68ecbba962149a335f975fce24e7 (patch) | |
tree | a702cdf0e35e36f6e2bf042b6325c3f435c5b65c /src/java/com/jogamp/common/util | |
parent | 3cf28f2980b1593e4b32230d5206decd6afe2cbb (diff) |
GlueGen (Compile Time): Add 'CStruct' Annotation Processor (APT) to 'gluegen' C Structs on-the-fly (2-pass actually).
Convenient annotation processing (APT) hooked to 'javac' (1.6) via gluegen.jar META-INF
service provider 'javax.annotation.processing.Processor' -> 'com.jogamp.gluegen.structgen.CStructAnnotationProcessor'.
Am implicit APT / JAVAC would be possible, however - to have a proper process
the unit test utilizes an explicit 2 pass run:
<!-- Annotation Processor Only - First -->
<javac destdir="${build_t.java}">
<classpath refid="junit.compile.classpath"/>
<compilerarg value="-proc:only"/>
<compilerarg value="-J-Djogamp.gluegen.structgen.debug"/>
<compilerarg value="-J-Djogamp.gluegen.structgen.output=${build_t.gen}/classes"/>
<src path="${test.base.dir}/com/jogamp/gluegen/test/junit/structgen"/>
</javac>
<!-- Javac Only - Second -->
<javac destdir="${build_t.java}">
<classpath refid="junit.compile.classpath"/>
<compilerarg value="-proc:none"/>
<src path="${test.base.dir}"/>
<src path="${build_t.gen}" />
</javac>
Original code from Michael Bien's 'superglue' git://github.com/mbien/superglue.git,
finally merged to GlueGen (as once intended).
Note: The APT javac pass requires to use 'gluegen.jar' instead of 'gluegen-rt.jar' !
The 2-pass process also alows using the runtime gluegen-rt.jar and hence ensures
clean namespace check at compilation.
Diffstat (limited to 'src/java/com/jogamp/common/util')
-rw-r--r-- | src/java/com/jogamp/common/util/PropertyAccess.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/java/com/jogamp/common/util/PropertyAccess.java b/src/java/com/jogamp/common/util/PropertyAccess.java index dde6b50..1a4bc7e 100644 --- a/src/java/com/jogamp/common/util/PropertyAccess.java +++ b/src/java/com/jogamp/common/util/PropertyAccess.java @@ -156,6 +156,17 @@ public class PropertyAccess { return s; } + /** See {@link #getProperty(String, boolean)}, additionally allows a <code>defaultValue</code> if property value is <code>null</code>. */ + public static final String getProperty(final String propertyKey, final boolean jnlpAlias, String defaultValue) + throws SecurityException, NullPointerException, IllegalArgumentException { + final String s = PropertyAccess.getProperty(propertyKey, jnlpAlias); + if( null != s ) { + return s; + } else { + return defaultValue; + } + } + private static final String getTrustedPropKey(final String propertyKey) { return AccessController.doPrivileged(new PrivilegedAction<String>() { public String run() { |