org.apache.axis2.jibx
Class CodeGenerationUtility
java.lang.Object
org.apache.axis2.jibx.CodeGenerationUtility
- public class CodeGenerationUtility
- extends 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.
Method Summary |
void |
engage(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 |
CodeGenerationUtility
public CodeGenerationUtility(CodeGenConfiguration config)
- Constructor.
- Parameters:
config
- code generation configuration
engage
public void engage(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)