
com.asayama.gwt.angular.rebind.ScopeBinderFactory.vm Maven / Gradle / Ivy
/*++
* Provided: ${packageName}.${className}
* Generate: ${packageName}.__${className}
*/
package ${packageName};
import com.asayama.gwt.jsni.client.JSClosure;
public class __${className} implements ${className} {
@Override
public JSClosure create(${supportedRootClassType} object) {
#foreach(${supportedClassType} in ${classTypeFields.classTypes})
if (object instanceof ${supportedClassType.qualifiedSourceName}) {
return __${className}_create((${supportedClassType.qualifiedSourceName}) object);
}
#end
return null;
}
#foreach(${supportedClassType} in ${classTypeFields.classTypes})
#set($fields = ${classTypeFields.getPublicFinalProperties($supportedClassType)})
private native JSClosure __${className}_create(${supportedClassType.qualifiedSourceName} object) /*-{
return function ($scope) {
#foreach($field in $fields)
#if(${field.field.isPublic()} && ${field.field.isFinal()} && ${field.field.isStatic()})
$scope.${field.name} = @${field.className}::${field.name};
#elseif(${field.field.isPublic()} && ${field.field.isFinal()})
$scope.${field.name} = object.@${field.className}::${field.name};
#end
#end
#foreach($method in $supportedClassType.inheritableMethods)
#if($method.isPublic() && $method.isStatic())
$scope.${method.name} = function (${JMethodUtils.getArgs(${method})}) {
return ${method.jsniSignature}(${JMethodUtils.getArgs(${method})});
};
#elseif($method.isPublic())
$scope.${method.name} = function (${JMethodUtils.getArgs(${method})}) {
return object.${method.jsniSignature}(${JMethodUtils.getArgs(${method})});
};
#end
#end
};
}-*/;
#end
}
//--end of ${packageName}.__${className}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy