Hi, so the way we do an abstraction of implementation is thru class literals. E.g. see the native interface support: https://www.codenameone.com/manual/advanced-topics.html#_native_interfaces
This works by using code such as: MyNative my = NativeLookup.create(MyNative.class); if(my != null && my.isSupported()) { Log.p(my.helloWorld("Hi")); } Notice that "MyNative" is an interface not the implementation class and the build server injects the glue code to the native code. Once it has that glue code in place it just does a put(class,impl) into the native lookup map which we can then query for the real implementation. -- You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discussions+unsubscr...@googlegroups.com. Visit this group at https://groups.google.com/group/codenameone-discussions. To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/89c1de04-68a2-4e86-a48b-c28867a14f8c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.