public abstract class BaseJavaModule extends java.lang.Object implements NativeModule
initialize() and onCatalystInstanceDestroy() are provided for
convenience. Subclasses which override these don't need to call super in case of
overriding those methods as implementation of those methods is empty.
BaseJavaModules can be linked to Fragments' lifecycle events, CatalystInstance
creation and destruction, by being called on the appropriate method when a life cycle event
occurs.
Native methods can be exposed to JS with ReactMethod annotation. Those methods may
only use limited number of types for their arguments:
String mapped from JS string
ReadableArray mapped from JS Array
ReadableMap mapped from JS Object
Callback mapped from js function and can be used only as a last parameter or in the
case when it express success & error callback pair as two last arguments respectively.
All methods exposed as native to JS with ReactMethod annotation must return void.
Please note that it is not allowed to have multiple methods annotated with ReactMethod
with the same name.
NativeModule.NativeMethod| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
METHOD_TYPE_ASYNC |
static java.lang.String |
METHOD_TYPE_PROMISE |
static java.lang.String |
METHOD_TYPE_SYNC |
| Constructor and Description |
|---|
BaseJavaModule() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canOverrideExistingModule()
Return true if you intend to override some other native module that was registered e.g.
|
java.util.Map<java.lang.String,java.lang.Object> |
getConstants() |
boolean |
hasConstants() |
void |
initialize()
This is called at the end of
CatalystApplicationFragment#createCatalystInstance() after
the CatalystInstance has been created, in order to initialize NativeModules that require the
CatalystInstance or JS modules. |
void |
invalidate() |
void |
onCatalystInstanceDestroy()
Called before {CatalystInstance#onHostDestroy}
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetNamepublic static final java.lang.String METHOD_TYPE_ASYNC
public static final java.lang.String METHOD_TYPE_PROMISE
public static final java.lang.String METHOD_TYPE_SYNC
public java.util.Map<java.lang.String,java.lang.Object> getConstants()
public void initialize()
NativeModuleCatalystApplicationFragment#createCatalystInstance() after
the CatalystInstance has been created, in order to initialize NativeModules that require the
CatalystInstance or JS modules.initialize in interface NativeModulepublic boolean canOverrideExistingModule()
NativeModulecanOverrideExistingModule in interface NativeModulepublic void onCatalystInstanceDestroy()
NativeModuleonCatalystInstanceDestroy in interface NativeModulepublic boolean hasConstants()
public void invalidate()