KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > aop > support > NameMatchMethodPointcutAdvisor


1 /*
2  * Copyright 2002-2006 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.springframework.aop.support;
18
19 import org.aopalliance.aop.Advice;
20
21 import org.springframework.aop.ClassFilter;
22 import org.springframework.aop.Pointcut;
23
24 /**
25  * Convenient class for name-match method pointcuts that hold an Advice,
26  * making them an Advisor.
27  *
28  * @author Juergen Hoeller
29  * @author Rob Harrop
30  * @see NameMatchMethodPointcut
31  */

32 public class NameMatchMethodPointcutAdvisor extends AbstractGenericPointcutAdvisor {
33
34     private final NameMatchMethodPointcut pointcut = new NameMatchMethodPointcut();
35
36
37     public NameMatchMethodPointcutAdvisor() {
38     }
39
40     public NameMatchMethodPointcutAdvisor(Advice advice) {
41         setAdvice(advice);
42     }
43
44
45     /**
46      * Set the {@link ClassFilter} to use for this pointcut.
47      * Default is {@link ClassFilter#TRUE}.
48      * @see NameMatchMethodPointcut#setClassFilter
49      */

50     public void setClassFilter(ClassFilter classFilter) {
51         this.pointcut.setClassFilter(classFilter);
52     }
53
54     /**
55      * Convenience method when we have only a single method name to match.
56      * Use either this method or <code>setMappedNames</code>, not both.
57      * @see #setMappedNames
58      * @see NameMatchMethodPointcut#setMappedName
59      */

60     public void setMappedName(String JavaDoc mappedName) {
61         this.pointcut.setMappedName(mappedName);
62     }
63
64     /**
65      * Set the method names defining methods to match.
66      * Matching will be the union of all these; if any match,
67      * the pointcut matches.
68      * @see NameMatchMethodPointcut#setMappedNames
69      */

70     public void setMappedNames(String JavaDoc[] mappedNames) {
71         this.pointcut.setMappedNames(mappedNames);
72     }
73
74     /**
75      * Add another eligible method name, in addition to those already named.
76      * Like the set methods, this method is for use when configuring proxies,
77      * before a proxy is used.
78      * @param name name of the additional method that will match
79      * @return this pointcut to allow for multiple additions in one line
80      * @see NameMatchMethodPointcut#addMethodName
81      */

82     public NameMatchMethodPointcut addMethodName(String JavaDoc name) {
83         return this.pointcut.addMethodName(name);
84     }
85
86
87     public Pointcut getPointcut() {
88         return this.pointcut;
89     }
90
91 }
92
Popular Tags