javaclasstodbcconverter.java
来自「开源的axis2框架的源码。用于开发WEBSERVER」· Java 代码 · 共 388 行 · 第 1/2 页
JAVA
388 行
WebService webService = (WebService)ConverterUtils.getAnnotation(
WebService.class, serviceClass);
if (webService != null) {
// Attach @WebService annotated data
WebServiceAnnot wsAnnot = WebServiceAnnot.createWebServiceAnnotImpl();
wsAnnot.setEndpointInterface(webService.endpointInterface());
// check for SEI and save name if necessary
seiClassName = webService.endpointInterface();
wsAnnot.setName(webService.name());
wsAnnot.setPortName(webService.portName());
wsAnnot.setServiceName(webService.serviceName());
wsAnnot.setTargetNamespace(webService.targetNamespace());
wsAnnot.setWsdlLocation(webService.wsdlLocation());
composite.setWebServiceAnnot(wsAnnot);
}
}
/**
* This method will be used to attach @WebServiceClient annotation data to the
* <code>DescriptionBuildercomposite</code>
*
* @param composite - <code>DescriptionBuilderComposite</code>
*/
private void attachWebServiceClientAnnotation(DescriptionBuilderComposite composite) {
WebServiceClient webServiceClient = (WebServiceClient)ConverterUtils.
getAnnotation(WebServiceClient.class, serviceClass);
if (webServiceClient != null) {
}
}
/**
* This method will be used to attach @WebServiceProvider annotation data to the
* <code>DescriptionBuilderComposite</code>
*
* @param composite - <code>DescriptionBuildercomposite</code>
*/
private void attachWebServiceProviderAnnotation(DescriptionBuilderComposite composite) {
WebServiceProvider webServiceProvider = (WebServiceProvider)ConverterUtils.
getAnnotation(WebServiceProvider.class, serviceClass);
if (webServiceProvider != null) {
// Attach @WebServiceProvider annotation data
WebServiceProviderAnnot wspAnnot = WebServiceProviderAnnot.
createWebServiceAnnotImpl();
wspAnnot.setPortName(webServiceProvider.portName());
wspAnnot.setServiceName(webServiceProvider.serviceName());
wspAnnot.setTargetNamespace(webServiceProvider.targetNamespace());
wspAnnot.setWsdlLocation(webServiceProvider.wsdlLocation());
composite.setWebServiceProviderAnnot(wspAnnot);
}
}
/**
* This method will be used to attach @BindingType annotation data to the
* <code>DescriptionBuilderComposite</code>
*
* @param composite - <code>DescriptionBuildercomposite</code>
*/
private void attachBindingTypeAnnotation(DescriptionBuilderComposite composite) {
BindingType bindingType = (BindingType)ConverterUtils.getAnnotation(
BindingType.class, serviceClass);
if (bindingType != null) {
// Attach @BindingType annotation data
BindingTypeAnnot btAnnot = BindingTypeAnnot.createBindingTypeAnnotImpl();
btAnnot.setValue(bindingType.value());
composite.setBindingTypeAnnot(btAnnot);
}
}
/**
* This method will be used to attach @HandlerChain annotation data to the
* <code>DescriptionBuilderComposite</code>
*
* @param composite - <code>DescriptionBuildercomposite</code>
*/
private void attachHandlerChainAnnotation(DescriptionBuilderComposite composite) {
ConverterUtils.attachHandlerChainAnnotation(composite, serviceClass);
}
/**
* This method will be used to attach @ServiceMode annotation data to the
* <code>DescriptionBuilderComposite</code>
*
* @param composite - <code>DescriptionBuildercomposite</code>
*/
private void attachServiceModeAnnotation(DescriptionBuilderComposite composite) {
ServiceMode serviceMode = (ServiceMode)ConverterUtils.getAnnotation(
ServiceMode.class, serviceClass);
if (serviceMode != null) {
// Attach @ServiceMode annotated data
ServiceModeAnnot smAnnot = ServiceModeAnnot.createWebServiceAnnotImpl();
smAnnot.setValue(serviceMode.value());
composite.setServiceModeAnnot(smAnnot);
}
}
/**
* This method will be used to drive the setting of @SOAPBinding annotation data to the
* <code>DescriptionBuilderComposite</code>
*
* @param composite - <code>DescriptionBuildercomposite</code>
*/
private void attachSoapBindingAnnotation(DescriptionBuilderComposite composite) {
ConverterUtils.attachSoapBindingAnnotation(composite, serviceClass);
}
/**
* This method will be used to attach @WebFault annotation data to the
* <code>DescriptionBuilderComposite</code>
*
* @param composite - <code>DescriptionBuilderComposite</code>
*/
private void attachWebFaultAnnotation(DescriptionBuilderComposite composite) {
WebFault webFault = (WebFault)ConverterUtils.getAnnotation(
WebFault.class, serviceClass);
if (webFault != null) {
WebFaultAnnot webFaultAnnot = WebFaultAnnot.createWebFaultAnnotImpl();
webFaultAnnot.setFaultBean(webFault.faultBean());
webFaultAnnot.setName(webFault.name());
webFaultAnnot.setTargetNamespace(webFault.targetNamespace());
composite.setWebFaultAnnot(webFaultAnnot);
}
}
/**
* This method will be used to attach @WebServiceRefs annotation data to the
* <code>DescriptionBuilderComposite</code>
*
* @param composite - <code>DescriptionBuilderComposite</code>
*/
private void attachWebServiceRefsAnnotation(DescriptionBuilderComposite composite) {
WebServiceRefs webServiceRefs = (WebServiceRefs)ConverterUtils.getAnnotation(
WebServiceRefs.class, serviceClass);
if (webServiceRefs != null) {
WebServiceRef[] refs = webServiceRefs.value();
for (WebServiceRef ref : refs) {
WebServiceRefAnnot wsrAnnot = ConverterUtils.createWebServiceRefAnnot(
ref);
composite.setWebServiceRefAnnot(wsrAnnot);
}
}
}
/**
* This method will be used to drive the setting of @WebServiceRef annotation data to the
* <code>DescriptionBuilderComposite</code>
*
* @param composite - <code>DescriptionBuilderComposite</code>
*/
private void attachWebServiceRefAnnotation(DescriptionBuilderComposite composite) {
ConverterUtils.attachWebServiceRefAnnotation(composite, serviceClass);
}
private void establishClassHierarchy(Class rootClass) {
classes.add(rootClass);
if (rootClass.getSuperclass() != null && !rootClass.getSuperclass().getName().
equals("java.lang.Object")) {
classes.add(rootClass.getSuperclass());
establishInterfaceHierarchy(rootClass.getSuperclass().getInterfaces());
establishClassHierarchy(rootClass.getSuperclass());
}
}
private void establishInterfaceHierarchy(Class[] interfaces) {
if (interfaces.length > 0) {
for (Class inter : interfaces) {
classes.add(inter);
establishInterfaceHierarchy(inter.getInterfaces());
}
}
}
/**
* Adds any checked exceptions (i.e. declared on a method via a throws clause)
* to the list of classes for which a DBC needs to be built.
* @param rootClass
*/
private void establishExceptionClasses(Class rootClass) {
Method[] methods = rootClass.getMethods();
for (Method method : methods) {
Class[] exceptionClasses = method.getExceptionTypes();
if (exceptionClasses.length > 0) {
for (Class checkedException : exceptionClasses) {
classes.add(checkedException);
}
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?