Mapping Hierarchy
By default, no superclass nor interfaces are exported in the C++ proxies.
Superclass
You can activate the generation of the superclass proxies and respect the hierarchy.
Annotation case:
package demo; @Java4cpp(superclass = true) public class Sample extends Superclass { }
XML case:
<mappings> <classes> <class class="demo.Sample" superclass="true"> </class> </classes> </mappings>
will produce:
namespace demo { class Sample : public Superclass { }; }
Interfaces
You can select which of the interfaces you wants in your resulting C++ proxies. You have two ways for selecting interfaces :
- export all interfaces, and manually lists interfaces you don't want to generate
- export no interface, and manually lists interfaces you want to generate
Annotations case:
package demo; @Java4cpp(interfaces = true, noWrappeInterfaces = { Interface2.class }) public class Sample implements Interface1, Interfaces2 { }
or
package demo; @Java4cpp(wrappeInterfaces = { Interface1.class }) public class Sample implements Interface1, Interfaces2 { }
XML case :
You specify the interface by is full java name.
<mappings> <classes> <class class="demo.Sample" interfaceAll="true"> <interfaces> <noWrappes> <noWrappe>demo.Interface2</noWrappe> </noWrappes> </interfaces> </class> </classes> </mappings>
or
<mappings> <classes> <class class="demo.Sample" interfaceAll="false"> <interfaces> <wrappes> <wrappe>demo.Interface1</wrappe> </wrappes> </interfaces> </class> </classes> </mappings>
will produce:
namespace demo { class Sample : public Interface1 { }; }