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

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