lockintroduction.java

来自「spring2.0技术手册随书事例,结合例子学习起来更轻松」· Java 代码 · 共 38 行

JAVA
38
字号
package onlyfun.caterpillar; 

import org.springframework.aop.
             support.DelegatingIntroductionInterceptor; 
import org.aopalliance.intercept.MethodInvocation; 
import org.springframework.aop.
             framework.AopConfigException;

public class LockIntroduction 
              extends DelegatingIntroductionInterceptor 
              implements ILockable { 
    private boolean locked; 

    public Object invoke(MethodInvocation invocation) 
                       throws Throwable {
        // locked为true下不能调用set方法
        if (isLocked() && 
            invocation.getMethod().
                       getName().indexOf("set") == 0) {
            throw new AopConfigException(
                                "对象被锁定!!"); 
        }
        
        return super.invoke(invocation); 
    } 
    
    public void lock() { 
        locked = true; 
    } 

    public void unlock() { 
        locked = false; 
    } 

    public boolean isLocked() { 
        return locked; 
    } 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?