All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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