Implementing common wrapper code in Java and use for Java delegate

I recently worked on a project that wraps Android classes into callable wrappers from Delphi by reading from a Java archive (JAR).  Since the Android platform uses Java, this dips into my Java skills.

Let's first look at the Delphi unit for an Android callable wrapper.

 

unit Namespace...;
interface
uses
  listofunits...;
type
  // forward declarations
  CallableWrapper1 = interface; 
  CallableWrapper2 = interface;

  CallableWrapper1Class = interface(SomeParentClass)
   // method declarations
  end;

  CallableWrapper1 = interface(SomeParent)
  end;

  TJCallableWrapper1 = class(TJavaGenericImport<CallableWrapper1Class, CallableWrapper1>)
  end;

  CallableWrapper2Class = interface(SomeOtherParentClass)
  // method declarations
  end;

  CallableWrapper2 = interface(SomeOtherParent)
  end;

  TJCallableWrapper2 = class(TJavaGenericImport<CallableWrapper2Class, CallableWrapper2>) 
  end;

 

After obtaining the list of classes to generate wrappers for, there is a loop that iterates the class, and we need to run through it 2 times.  Why 2 times? The first, is to generate the forward interfaces.

The second, is to generate the actual wrappers.

Published Wed, 18 Sep 2013 @ 12:39 PM by chuacw
Related articles: , ,

Leave a Comment

(required) 
(required) 
(optional)
(required) 
Enter the following code to ensure that your comment reaches the intended party:
Enter the numbers you see in the image: