alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Groovy example source code file (Interceptor.java)

This example Groovy source code file (Interceptor.java) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Groovy tags/keywords

interceptor, interceptor, object, object, string, string

The Groovy Interceptor.java source code

/*
 * Copyright 2003-2007 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package groovy.lang;

/**
 * Implementers of this interface can be registered in the ProxyMetaClass for
 * notifications about method calls for objects managed by the ProxyMetaClass.
 * See groovy/lang/InterceptorTest.groovy for details.
 * @author Dierk Koenig
 */
public interface Interceptor {
    /**
     * This code is executed before the method is optionally called.
     * @param object        receiver object for the method call
     * @param methodName    name of the method to call
     * @param arguments     arguments to the method call
     * @return any arbitrary result that replaces the result of the
     * original method call only if doInvoke() returns false and afterInvoke()
     * relays this result.
     */
    Object beforeInvoke(Object object, String methodName, Object[] arguments);
    /**
     * This code is executed after the method is optionally called.
     * @param object        receiver object for the called method
     * @param methodName    name of the called method
     * @param arguments     arguments to the called method
     * @param result        result of the executed method call or result of beforeInvoke if method was not called
     * @return any arbitrary result that can replace the result of the
     * original method call. Typically, the result parameter is returned.
     */
    Object afterInvoke(Object object, String methodName, Object[] arguments, Object result);
    /**
     * @return whether the target method should be invoked at all.
     */
    boolean doInvoke();
}

Other Groovy examples (source code examples)

Here is a short list of links related to this Groovy Interceptor.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.