Callable

#arguments.package#
Interface Class #arguments.name#

') />
#local.buffer.toString()#
All Implemented Interfaces:
, #writeClassLink(getPackage(interface), getObjectName(interface), arguments.qMetaData, "short")#
All Known Implementing Classes:
, #writeClassLink(arguments.qImplementing.package, arguments.qImplementing.name, arguments.qMetaData, "short")#
Direct Known SubclassesAll Known Subinterfaces:
, #arguments.qSubclass.name#

local.buffer.setLength(0); local.buffer.append("public "); if(isAbstractClass(name, arguments.package)) { local.buffer.append("abstract "); } if(arguments.metadata.type eq "interface") { local.buffer.append("interface"); } else { local.buffer.append("class"); } local.buffer.append(" #arguments.name#"); local.buffer.append(local.ls); if(StructKeyExists(arguments.metadata, "extends")) { local.extendsmeta = arguments.metadata.extends; if(arguments.metadata.type eq "interface") { local.extendsmeta = arguments.metadata.extends[structKeyList(local.extendsmeta)]; } local.buffer.append("
extends #writeClassLink(getPackage(local.extendsmeta.name), getObjectName(local.extendsmeta.name), arguments.qMetaData, 'short')#
"); }
#local.buffer.toString()#

#arguments.metadata.hint#


instance.class.cache = StructNew(); local.localFunctions = StructNew(); local.qFunctions = buildFunctionMetaData(arguments.metadata); local.qInit = getMetaSubQuery(local.qFunctions, "UPPER(name)='INIT'");
Constructor Summary
#local.init.access# #writeMethodLink(arguments.name, arguments.package, local.init, arguments.qMetaData)#
          #listGetAt(local.init.hint, 1, ".")#
 
Method Summary
#local.func.access# #writeTypeLink(local.func.returnType, arguments.package, arguments.qMetadata, local.func)# #writeMethodLink(arguments.name, arguments.package, local.func, arguments.qMetaData)#
          #listGetAt(local.func.hint, 1, ".")#
if(local.localmeta.type eq "interface") { local.localmeta = local.localmeta.extends[structKeyList(local.localmeta.extends)]; } else { local.localmeta = local.localmeta.extends; }  
Methods inherited from class #writeClassLink(getPackage(local.localmeta.name), getObjectName(local.localmeta.name), arguments.qMetaData, 'long')#
#local.func.name#') /> #local.buffer.toString()#
 

Constructor Detail

#local.init.name#

#local.init.access# #writeMethodLink(arguments.name, arguments.package, local.init, arguments.qMetaData, false)#
#local.init.hint#

Parameters:
#local.param.name# - #local.param.hint#
Method Detail

#local.func.name#

#local.func.access# #writeTypeLink(local.func.returnType, arguments.package, arguments.qMetaData, local.func)# #writeMethodLink(arguments.name, arguments.package, local.func, arguments.qMetaData, false)#
#local.func.hint#

Specified by:
#local.func.name# in interface #writeClassLink(getPackage(local.specified), getObjectName(local.specified), arguments.qMetaData, 'short')#
Overrides:
#local.func.name# in class #writeClassLink(getPackage(local.overWrites), getObjectName(local.overWrites), arguments.qMetaData, 'short')#
Parameters:
#local.param.name# - #local.param.hint#


if(i++ neq 1) { builder.append(", "); } if(NOT StructKeyExists(param, "required")) { param.required = false; } if(NOT param.required) { builder.append("["); } safeParamMeta(param); builder.append(writeTypeLink(param.type, arguments.package, arguments.qMetadata, param)); builder.append(" " & param.name); if(StructKeyExists(param, "default")) { builder.append("='" & param.default & "'"); } if(NOT param.required) { builder.append("]"); } #arguments.func.name##builder.toString()#'/> #arguments.func.name##builder.toString()#'/> var result = createObject("java", "java.lang.StringBuilder").init(); var local = {}; if(isPrimitive(arguments.type)) { result.append(arguments.type); } else { arguments.type = resolveClassName(arguments.type, arguments.package); result.append(writeClassLink(getPackage(arguments.type), getObjectName(arguments.type), arguments.qMetaData, 'short')); } if(NOT structIsEmpty(arguments.genericMeta)) { local.array = getGenericTypes(arguments.genericMeta, arguments.package); if(NOT arrayIsEmpty(local.array)) { result.append("<"); local.len = ArrayLen(local.array); for(local.counter=1; local.counter lte local.len; local.counter++) { if(local.counter neq 1) { result.append(","); } local.generic = local.array[local.counter]; result.append(writeTypeLink(local.generic, arguments.package, arguments.qMetaData)); } result.append(">"); } } return result.toString(); /* function getArgumentList(func) { var list = ""; var len = 0; var counter = 1; var param = 0; if(StructKeyExists(arguments.func, "parameters")) { len = ArrayLen(arguments.func.parameters); for(; counter lte len; counter = counter + 1) { param = safeParamMeta(arguments.func.parameters[counter]); list = listAppend(list, param.type); } } return list; } */ function writeClassLink(package, name, qMetaData, format) { var qClass = getMetaSubQuery(arguments.qMetaData, "LOWER(package)=LOWER('#arguments.package#') AND LOWER(name)=LOWER('#arguments.name#')"); var builder = 0; var safeMeta = 0; var title = 0; if(qClass.recordCount) { safeMeta = StructCopy(qClass.metadata); title = "class"; if(safeMeta.type eq "interface") { title = "interface"; } builder = createObject("java", "java.lang.StringBuilder").init(); builder.append(''); if(arguments.format eq "short") { builder.append(qClass.name); } else { builder.append(qClass.package & "." & qClass.name); } builder.append(""); return builder.toString(); } return package & "." & name; } function getInheritence(metadata) { var localmeta = arguments.metadata; var inheritence = [arguments.metadata.name]; while(StructKeyExists(localmeta, "extends")) { //manage interfaces if(localmeta.type eq "interface") { localmeta = localmeta.extends[structKeyList(localmeta.extends)]; } else { localmeta = localmeta.extends; } ArrayPrepend(inheritence, localmeta.name); } return inheritence; } function getImplements(metadata) { var localmeta = arguments.metadata; var interfaces = {}; var key = 0; var imeta = 0; while(StructKeyExists(localmeta, "extends")) { if(StructKeyExists(localmeta, "implements")) { for(key in localmeta.implements) { imeta = localmeta.implements[local.key]; interfaces[imeta.name] = 1; } } localmeta = localmeta.extends; } interfaces = structKeyArray(interfaces); arraySort(interfaces, "textnocase"); return interfaces; } function findOverwrite(metadata, functionName) { var qFunctions = 0; while(StructKeyExists(arguments.metadata, "extends")) { if(arguments.metadata.type eq "interface") { arguments.metadata = arguments.metadata.extends[structKeyList(arguments.metadata.extends)]; } else { arguments.metadata = arguments.metadata.extends; } qFunctions = buildFunctionMetaData(arguments.metadata); qFunctions = getMetaSubQuery(qFunctions, "name='#arguments.functionName#'"); if(qFunctions.recordCount) { return arguments.metadata.name; } } return ""; } function findSpecifiedBy(metadata, functionname) { var imeta = 0; var qFunctions = 0; var key = 0; if(structKeyExists(arguments.metadata, "implements")) { for(key in arguments.metadata.implements) { imeta = arguments.metadata.implements[local.key]; qFunctions = buildFunctionMetaData(imeta); qFunctions = getMetaSubQuery(qFunctions, "name='#arguments.functionName#'"); if(qFunctions.recordCount) { return imeta.name; } //now look up super-interfaces while(structKeyExists(imeta, "extends")) { imeta = imeta.extends[structKeyList(imeta.extends)]; qFunctions = buildFunctionMetaData(imeta); qFunctions = getMetaSubQuery(qFunctions, "name='#arguments.functionName#'"); if(qFunctions.recordCount) { return imeta.name; } } } } return ""; } //stupid cleanup StructDelete(variables, "findOverwrite"); StructDelete(variables, "writeTypeLink"); StructDelete(variables, "writeMethodLink"); StructDelete(variables, "getArgumentList"); StructDelete(variables, "writeClassLink"); StructDelete(variables, "getInheritence"); StructDelete(variables, "writeObjectLink"); StructDelete(variables, "getImplements"); StructDelete(variables, "findSpecifiedBy"); //store for resident data StructDelete(variables.instance, "class");