The main requirement that must be adhered to is that your Handler must ultimately implement Isight-provided interfaces com.engineous.sdk.component.ComponentHandler and com.engineous.sdk.model.SystemExtension. However, the Isight SDK also provides an abstract class, com.engineous.sdk.component.DefaultComponentHandler, that extends both of these interfaces, which allows you to implement only the methods you need. A component handler must not call native (non-Java) code, nor cause the loading of any native code library into the JVM (e.g., it must not call System.loadLibrary()). For more information on using native code in components, see Non-Java Code Considerations. The optional methods available to implement are:
Note: DefaultComponentHandler provides a default implementation of this method that compares parameters, control/data flow, approximations, and a number of general properties. If you extend this class and implement this method, it is very important that you call super.diff (<args>) to retain this general comparison before performing other component-specific comparisons. Alternatively, you can implement the protected diffConfiguration method supplied by the DefaultComponentHandler, which is called from the general diff method. See DefaultComponentHandler in the javadoc for more information. A Handler template that includes stubs for function calls that you might need to make is provided in ComponentHandler.java. |