
templates.java.proxy.vm Maven / Gradle / Ivy
#* @vtlvariable name="typeDescriptor" type="cc.catalysts.cdoclet.generator.velocity.TypeDescriptor" *#
#parse("templates/java/java_macros.vm")
#*
PROXY
*#
package $typeDescriptor.nameSpace;
#if($typeDescriptor.description) /**
*
* $typeDescriptor.description
*
*/
#end
#foreach($annotation in $typeDescriptor.annotations)@$annotation.name
#end
public class $typeDescriptor.typeName#java_generics($typeDescriptor)#java_implements($typeDescriptor)#java_bounds($typeDescriptor) {
protected virtual object DispatchCall(System.Type type, string methodName, params object[] args) {
return null;
}
protected virtual void BeginDispatchCall(System.Type type, string methodName, object async, params object[] args) {
}
#foreach($methodDescriptor in $typeDescriptor.methodDescriptors)
#if($methodDescriptor.description) /**
*
* $methodDescriptor.description
*
*/
#end
#java_modifiers($methodDescriptor, 'virtual')public #java_method($methodDescriptor) {
#if($methodDescriptor.async)#if($methodDescriptor.callbackType.qualifiedTypeName == "void")
BeginDispatchCall(typeof(object), "${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end);
#else
BeginDispatchCall(typeof(#java_type($methodDescriptor.callbackType)), "${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end);
#end#else#if($methodDescriptor.qualifiedTypeName == "void")
DispatchCall(typeof(object), "${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end);
#else
return (<#java_type($methodDescriptor)>) DispatchCall(typeof<#java_type($methodDescriptor)), "${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end);
#end#end
}
#end
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy