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

grails.plugins.redis.ast.MemoizeHashFieldASTTransformation.groovy Maven / Gradle / Ivy

Go to download

This Plugin provides access to Redis and various utilities(service, annotations, etc) for caching.

The newest version!
package grails.plugins.redis.ast

import org.codehaus.groovy.ast.ASTNode
import org.codehaus.groovy.ast.expr.ConstantExpression
import org.codehaus.groovy.control.CompilePhase
import org.codehaus.groovy.control.SourceUnit
import org.codehaus.groovy.transform.GroovyASTTransformation

@GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
class MemoizeHashFieldASTTransformation extends MemoizeASTTransformation {

    @Override
    protected void generateMemoizeProperties(ASTNode[] astNodes, SourceUnit sourceUnit, Map memoizeProperties) {
        super.generateMemoizeProperties(astNodes, sourceUnit, memoizeProperties)
        def member = astNodes[0]?.members?.member?.value

        if(!member || member?.class != String) {
            addError('Internal Error: member is required for score', astNodes[0], sourceUnit)
            return
        }

        memoizeProperties.put(MEMBER, member)
    }

    @Override
    protected ConstantExpression makeRedisServiceConstantExpression() {
        new ConstantExpression('memoizeHashField')
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy