Class XMLTypeCreator

java.lang.Object
org.apache.cxf.aegis.type.AbstractTypeCreator
org.apache.cxf.aegis.type.XMLTypeCreator
All Implemented Interfaces:
TypeCreator

public class XMLTypeCreator extends AbstractTypeCreator
Deduce mapping information from an xml file. The xml file should be in the same packages as the class, with the name className.aegis.xml. For example, given the following service interface:

 public Collection getResultsForValues(String id, Collection values); //method 1

 public Collection getResultsForValues(int id, Collection values); //method 2

 public String getResultForValue(String value); //method 3
 
An example of the type xml is:
  <mappings>
   <mapping>
     <method name="getResultsForValues">
       <return-type componentType="com.acme.ResultBean" />
       <!-- no need to specify index 0, since it's a String -->
       <parameter index="1" componentType="java.lang.String" />
     </method>
   </mapping>
  </mappings>
 

Note that for values which can be easily deduced (such as the String parameter, or the second service method) no mapping need be specified in the xml descriptor, which is why no mapping is specified for method 3.

However, if you have overloaded methods with different semantics, then you will need to specify enough parameters to disambiguate the method and uniquely identify it. So in the example above, the mapping specifies will apply to both method 1 and method 2, since the parameter at index 0 is not specified.