org.jboss.aop
Class ClassInstanceAdvisor

java.lang.Object
  extended by org.jboss.aop.ClassInstanceAdvisor
All Implemented Interfaces:
Serializable, InstanceAdvisor

public class ClassInstanceAdvisor
extends Object
implements InstanceAdvisor, Serializable

Holds an object instance's metadata and attached interceptors

Version:
$Revision: 1.26 $
Author:
Bill Burke
See Also:
Serialized Form

Field Summary
protected  Advised advised
           
protected  Advisor advisor
           
protected  ArrayList appendedInterceptors
           
protected  WeakHashMap aspects
          aspects is a weak hash map of AspectDefinitions so that perinstance advices can be undeployed/redeployed
 boolean hasInstanceAspects
           
protected  ArrayList insertedInterceptors
           
protected  Object instance
           
protected  WeakHashMap joinpointAspects
           
protected  SimpleMetaData metadata
           
 
Constructor Summary
ClassInstanceAdvisor()
           
ClassInstanceAdvisor(Object obj)
           
 
Method Summary
 void appendInterceptor(Interceptor interceptor)
           
 void appendInterceptor(int index, Interceptor interceptor)
           
 void appendInterceptorStack(String stackName)
           
protected  void finalize()
          Added to notify interceptor chain observer of interceptor chain garbage collection.
 Interceptor[] getInterceptors()
           
 Interceptor[] getInterceptors(Interceptor[] advisorChain)
          Called by the advisor
 SimpleMetaData getMetaData()
           
 Object getPerInstanceAspect(AspectDefinition def)
           
 Object getPerInstanceAspect(String def)
          Get the instance of an aspect.
 Object getPerInstanceJoinpointAspect(Joinpoint joinpoint, AspectDefinition def)
           
 boolean hasAspects()
           
protected  void initializeAspects()
           
 void insertInterceptor(Interceptor interceptor)
           
 void insertInterceptor(int index, Interceptor interceptor)
           
 void insertInterceptorStack(String stackName)
           
 void removeInterceptor(String name)
          This will not remove interceptor pointcuts! You will have to do this through AspectManager
 void removeInterceptorStack(String stackName)
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

insertedInterceptors

protected ArrayList insertedInterceptors

appendedInterceptors

protected ArrayList appendedInterceptors

metadata

protected SimpleMetaData metadata

instance

protected Object instance

advised

protected transient Advised advised

advisor

protected transient Advisor advisor

hasInstanceAspects

public boolean hasInstanceAspects

aspects

protected transient WeakHashMap aspects
aspects is a weak hash map of AspectDefinitions so that perinstance advices can be undeployed/redeployed


joinpointAspects

protected transient WeakHashMap joinpointAspects
Constructor Detail

ClassInstanceAdvisor

public ClassInstanceAdvisor()

ClassInstanceAdvisor

public ClassInstanceAdvisor(Object obj)
Method Detail

initializeAspects

protected void initializeAspects()

getPerInstanceAspect

public Object getPerInstanceAspect(String def)
Description copied from interface: InstanceAdvisor
Get the instance of an aspect. An aspect encapsulates a set of advices.

Specified by:
getPerInstanceAspect in interface InstanceAdvisor
Returns:

getPerInstanceAspect

public Object getPerInstanceAspect(AspectDefinition def)

getPerInstanceJoinpointAspect

public Object getPerInstanceJoinpointAspect(Joinpoint joinpoint,
                                            AspectDefinition def)

getMetaData

public SimpleMetaData getMetaData()
Specified by:
getMetaData in interface InstanceAdvisor

getInterceptors

public Interceptor[] getInterceptors()
Specified by:
getInterceptors in interface InstanceAdvisor

getInterceptors

public Interceptor[] getInterceptors(Interceptor[] advisorChain)
Called by the advisor

Specified by:
getInterceptors in interface InstanceAdvisor

insertInterceptor

public void insertInterceptor(int index,
                              Interceptor interceptor)
Specified by:
insertInterceptor in interface InstanceAdvisor

insertInterceptor

public void insertInterceptor(Interceptor interceptor)
Specified by:
insertInterceptor in interface InstanceAdvisor

appendInterceptor

public void appendInterceptor(Interceptor interceptor)
Specified by:
appendInterceptor in interface InstanceAdvisor

appendInterceptor

public void appendInterceptor(int index,
                              Interceptor interceptor)
Specified by:
appendInterceptor in interface InstanceAdvisor

removeInterceptor

public void removeInterceptor(String name)
This will not remove interceptor pointcuts! You will have to do this through AspectManager

Specified by:
removeInterceptor in interface InstanceAdvisor

hasAspects

public final boolean hasAspects()
Specified by:
hasAspects in interface InstanceAdvisor

insertInterceptorStack

public void insertInterceptorStack(String stackName)
Specified by:
insertInterceptorStack in interface InstanceAdvisor

appendInterceptorStack

public void appendInterceptorStack(String stackName)
Specified by:
appendInterceptorStack in interface InstanceAdvisor

removeInterceptorStack

public void removeInterceptorStack(String stackName)
Specified by:
removeInterceptorStack in interface InstanceAdvisor

finalize

protected void finalize()
Added to notify interceptor chain observer of interceptor chain garbage collection.

Overrides:
finalize in class Object


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.