X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fspring%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fconcurrency%2Fspring%2FLockAdvice.java;h=0c22b2304a4c3a1f52503076633bb19fd7ac70c9;hb=ddd261f331280640c5b53c7128230b629ebcd268;hp=a20a9f6577e1b37338afd075a86fc7ddc8bb6e9e;hpb=92e23e5ecf9614f2ab770a8cdedc0b21ddf1e127;p=utils diff --git a/support/spring/src/main/java/org/wamblee/concurrency/spring/LockAdvice.java b/support/spring/src/main/java/org/wamblee/concurrency/spring/LockAdvice.java index a20a9f65..0c22b230 100644 --- a/support/spring/src/main/java/org/wamblee/concurrency/spring/LockAdvice.java +++ b/support/spring/src/main/java/org/wamblee/concurrency/spring/LockAdvice.java @@ -1,55 +1,66 @@ /* * Copyright 2005 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 org.wamblee.concurrency.spring; import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; + import org.wamblee.concurrency.Lock; + /** - * Locking advice. This automatically synchronized an object using a given lock. + * Locking advice. This automatically synchronized an object using a given + * lock. * * @author Erik Brakkee */ public class LockAdvice implements MethodInterceptor { - /** - * Lock to use. + * Lock to use. */ - private Lock lock; - - /** + private Lock lock; + +/** * Constructs lock advice. * @param aLock Lock to use. */ - public LockAdvice(Lock aLock) { - lock = aLock; + public LockAdvice(Lock aLock) { + lock = aLock; } - + /* (non-Javadoc) * @see org.aopalliance.intercept.MethodInterceptor#invoke(org.aopalliance.intercept.MethodInvocation) */ - public Object invoke(MethodInvocation aInvocation) throws Throwable { + /** + * DOCUMENT ME! + * + * @param aInvocation DOCUMENT ME! + * + * @return DOCUMENT ME! + * + * @throws Throwable DOCUMENT ME! + */ + public Object invoke(MethodInvocation aInvocation) + throws Throwable { lock.acquire(); - try { - return aInvocation.proceed(); - } finally { + + try { + return aInvocation.proceed(); + } finally { lock.release(); } } - }