Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.dynjs.runtime.linker;
 
 

Author(s):
Bob McWhirter
public class CachingLinker extends ContextualLinker {
    private static final Link NO_LINK = new Link() {
        @Override
        public MethodHandle guard() throws Exception {
            return null;
        }
        @Override
        public MethodHandle target() throws Exception {
            return null;
        }
    };
    private final Linker delegate;
    private Link getProperty;
    private Link setProperty;
    private Link getMethod;
    private Link call;
    private Link construct;
    public CachingLinker(Linker delegate) {
        this. = delegate;
    }
    @Override
    public Link preLinkGetProperty(Invocation invocationthrows Exception {
        if (this. == null) {
            this. = populate(this..preLinkGetProperty(invocation));
        }
        return retrievethis. );
    }
    @Override
    public Link preLinkSetProperty(Invocation invocationthrows Exception {
        if ( this. == null ) {
            this. = populatethis..preLinkSetProperty(invocation));
        }
        return retrievethis. );
    }
    @Override
    public Link preLinkGetMethod(Invocation invocationthrows Exception {
        if ( this. == null ) {
            this. = populatethis..preLinkGetMethod(invocation) );
        }
        return retrievethis. );
    }
    @Override
    public Link preLinkCall(Invocation invocationthrows Exception {
        if ( this. == null ) {
            this. = populate(this..preLinkCall(invocation));
        }
        return retrievethis. );
    }
    @Override
    public Link preLinkConstruct(Invocation invocationthrows Exception {
        if ( this. == null ) {
            this. = populatethis..preLinkConstruct(invocation) );
        }
        return retrieve(this.);
    }
    protected Link populate(Link inbound) {
        if ( inbound == null ) {
            return ;
        }
        return new CachedLink(inbound);
    }
    protected Link retrieve(Link inbound) {
        if ( inbound ==  ) {
            return null;
        }
        return inbound;
    }
New to GrepCode? Check out our FAQ X