org.jboss.cache.aop
Class CacheInterceptor

java.lang.Object
  extended by org.jboss.cache.aop.CacheInterceptor
All Implemented Interfaces:
org.jboss.aop.advice.Interceptor, BaseInterceptor

public class CacheInterceptor
extends java.lang.Object
implements BaseInterceptor

Created: Sat Apr 26 10:35:01 2003

Author:
Harald Gliebe, Ben Wang

Field Summary
protected  AOPInstance aopInstance
           
protected  PojoCache cache
           
protected  Fqn fqn
           
protected static org.apache.commons.logging.Log log_
           
protected  java.lang.String name
           
protected  CachedType type
           
 
Constructor Summary
CacheInterceptor(PojoCache cache, Fqn fqn, CachedType type)
           
 
Method Summary
 void beforeSerialization(java.lang.Object target)
           
protected  void checkCacheConsistency()
           
 AOPInstance getAopInstance()
           
 Fqn getFqn()
          Get the original fqn that is associated with this interceptor (or advisor).
 java.lang.String getName()
           
 java.lang.Object invoke(org.jboss.aop.joinpoint.Invocation invocation)
           
protected  boolean isPojoDetached(org.jboss.aop.joinpoint.Invocation invocation)
          Check if the pojo is detached already.
 void setAopInstance(AOPInstance aopInstance)
           
 void setFqn(Fqn fqn)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log_

protected static final org.apache.commons.logging.Log log_

cache

protected PojoCache cache

type

protected CachedType type

fqn

protected Fqn fqn

name

protected java.lang.String name

aopInstance

protected AOPInstance aopInstance
Constructor Detail

CacheInterceptor

public CacheInterceptor(PojoCache cache,
                        Fqn fqn,
                        CachedType type)
Method Detail

getAopInstance

public AOPInstance getAopInstance()
Specified by:
getAopInstance in interface BaseInterceptor

setAopInstance

public void setAopInstance(AOPInstance aopInstance)
Specified by:
setAopInstance in interface BaseInterceptor

getName

public java.lang.String getName()
Specified by:
getName in interface org.jboss.aop.advice.Interceptor

invoke

public java.lang.Object invoke(org.jboss.aop.joinpoint.Invocation invocation)
                        throws java.lang.Throwable
Specified by:
invoke in interface org.jboss.aop.advice.Interceptor
Throws:
java.lang.Throwable

isPojoDetached

protected boolean isPojoDetached(org.jboss.aop.joinpoint.Invocation invocation)
                          throws java.lang.Exception
Check if the pojo is detached already. If it is and we still have the cache interceptor on this pojo, we will go ahead and remove it since it should not be there in the first place.

Parameters:
invocation -
Returns:
Throws:
java.lang.Exception

checkCacheConsistency

protected void checkCacheConsistency()
                              throws java.lang.Exception
Throws:
java.lang.Exception

beforeSerialization

public void beforeSerialization(java.lang.Object target)
                         throws java.lang.Exception
Throws:
java.lang.Exception

getFqn

public Fqn getFqn()
Description copied from interface: BaseInterceptor
Get the original fqn that is associated with this interceptor (or advisor).

Specified by:
getFqn in interface BaseInterceptor

setFqn

public void setFqn(Fqn fqn)
Specified by:
setFqn in interface BaseInterceptor


Copyright 1998-2005 JBoss Inc . All Rights Reserved.