Example example_interface-callback

Part of the full Java 9 Jigsaw modules example suite.

Authors

Migrated for Java Modules support documentation of Apache MavenTM in the course of the Maven Support & Care program by Gerd Aschemann (and other team members) as forked repository. Please add discussions, requirements, bugfixes, etc. to the fork instead of the original.

What is this example about?

Modules in this example

  • modcallbackhandler, modcallee, modmain

  • modmain has a Main class which is started in run.sh

Module Dependency Graph, created with DepVis

Example’s Module Dependency Graph

Example shows …​

  • Calling a callback interface

  • Module modcallee defines a callback interface ICallback, which is returned when calling Callee.doIt().

  • Module modcallbackhandler does implement the interface ICallback

  • Module modmain brings Callee and implementation together: Callee can call the implementation of ICallback

Output

This example uses golden master testing to ensure output consistency. The expected output is compared with actual output using verify.sh.

Expected Output

MyCallbackImpl: Received callback with message: Callee is calling back as requested...

Actual Output

MyCallbackImpl: Received callback with message: Callee is calling back as requested...

Maven 4 Output

MyCallbackImpl: Received callback with message: Callee is calling back as requested...

Maven 4 Migration

This example was migrated to Maven 4 using the standard approach documented in the central Maven 4 Migration guide. The migration required no special configuration beyond the standard Module Source Hierarchy setup.