org.apache.axis2.jibx
Class CodeGenerationUtility

java.lang.Object
  extended by org.apache.axis2.jibx.CodeGenerationUtility

public class CodeGenerationUtility
extends java.lang.Object

Framework-linked code used by JiBX data binding support. This is accessed via reflection from the JiBX code generation extension when JiBX data binding is selected. JiBX uses a different approach to unwrapping method parameters from that implemented by ADB, and since the ADB technique is assumed by all code generation templates this has to create the same data structures. These data structures are undocumented, and can only be determined by going through the SchemaUnwrapperExtension and AxisServiceBasedMultiLanguageEmitter code.


Constructor Summary
CodeGenerationUtility(CodeGenConfiguration config)
          Constructor.
 
Method Summary
 void engage(java.lang.String path)
          Configure the code generation based on the supplied parameters and WSDL.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CodeGenerationUtility

public CodeGenerationUtility(CodeGenConfiguration config)
Constructor.

Parameters:
config - code generation configuration
Method Detail

engage

public void engage(java.lang.String path)
Configure the code generation based on the supplied parameters and WSDL. This first gets type mappings from binding definition, then goes through the operations checking the input and output messages. If unwrapping is disabled the message element must be handled directly by a mapping. If unwrapping is enabled, this checks that the message element is of the proper form (a sequence of other elements, which all have maxOccurs="1"). It then generates an unwrapping description and adds it to the code generation configuration, where it'll be picked up and included in the XML passed to code generation. This also constructs a type mapping, since that's required by the base Axis2 code generation. In the case of unwrapped elements, the type mapping includes a synthesized qname for each unwrapped parameter, and the detailed information is set on the message information. Sound confusing? Welcome to Axis2 code generation.

Parameters:
path - binding path (null if none)


Copyright © 2007 Apache Web Services Project. All Rights Reserved.