Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.aop.proxy.container
Class ClassProxyContainer

    java.lang.Object
      org.jboss.aop.Advisor
          org.jboss.aop.ClassContainer
              org.jboss.aop.proxy.container.ClassProxyContainer

Direct Known Subclasses:
  InstanceProxyContainer

public class ClassProxyContainer
extends ClassContainer

Extension of ClassContainer needed because of Mixins we want to be able to match pointcut expressions on the base class of the delegate we also want to be able to match pointcuts of instanceof{} of the Mixin interfaces. We also want to create constructor tables based on the constructor of the delegate so we can intercept construction

Author:
  Bill Burke

Field Summary

Fields inherited from class org.jboss.aop.ClassContainer
`advisedFields`

Fields inherited from class org.jboss.aop.Advisor
`adviceBindings, adviceInterceptors, advisedMethods, annotations, aspects, classAnnotations, classMetaData, classMetaDataBindings, clazz, constructionInfos, constructionInterceptors, constructorInfos, constructorInterceptors, constructorMetaData, constructors, defaultMetaData, doesHaveAspects, fieldMetaData, interfaceIntroductions, manager, methodInterceptors, methodMetaData, name, perInstanceAspectDefinitions, perInstanceJoinpointAspectDefinitions`

Constructor Summary
`ClassProxyContainer(String name, AspectManager manager)`

Method Summary
`protected boolean` | `chainOverridingForInheritedMethods()` Whether the type of advisor supports matching on pointcut expression, where the method is defined in a superclass only, while the pointcut expression class matches the subclass.
`protected void` | `createConstructorTables()`
`InstanceProxyContainer` | `createInstanceProxyContainer()`
`InstanceProxyContainer` | `createInstanceProxyContainer(InterfaceIntroduction introduction, org.jboss.repository.spi.MetaDataContext metaDataContext)`
`protected void` | `createMethodMap()`
`void` | `initialise(Class proxiedClass)`

Methods inherited from class org.jboss.aop.ClassContainer
`addClassMetaData, bindClassMetaData, createFieldTable, createInterceptorChains, createMethodInfo, initializeClassContainer, initializeMetadata, initializeMethodChain, rebindClassMetaData, rebuildInterceptors, removeClassMetaData, setClass`

Methods inherited from class org.jboss.aop.Advisor
`addAdviceInterceptor, addInterfaceIntroduction, addPerClassAspect, addPerInstanceAspect, addPerInstanceJoinpointAspect, createInterceptorChain, deployAnnotationOverride, deployAnnotationOverrides, deployMethodAnnotationOverrides, dynamicInvoke, finalizeConstructionChain, finalizeConstructorChain, finalizeMethodChain, getAdviceInterceptor, getAllMethods, getAnnotations, getClassMetaData, getClassMetadataBindings, getClazz, getConstructionInfos, getConstructionInterceptors, getConstructorInfos, getConstructorInterceptors, getConstructorMetaData, getConstructors, getDefaultMetaData, getFieldMetaData, getInterfaceIntroductions, getManager, getMetadataContext, getMethodInfo, getMethodMetaData, getName, getPerClassAspect, getPerClassAspect, getPerInstanceAspectDefinitions, getPerInstanceJoinpointAspectDefinitions, getSimpleName, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAspects, initializeConstructionChain, initializeConstructorChain, initializeInterfaceIntroductions, newBindingAdded, pointcutResolved, populateInterceptorsFromInfos, removeAdviceBinding, removeAdviceBindings, removeInterfaceIntroduction, removePerClassAspect, removePerInstanceAspect, removePerInstanceJoinpointAspect, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveConstructionPointcut, resolveConstructorPointcut, resolveMethodPointcut, setManager, setMetadataContext`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ClassProxyContainer

    public ClassProxyContainer(String name,
                               AspectManager manager)

Method Detail

### createConstructorTables

    protected void createConstructorTables()

  Overrides:
    `createConstructorTables` in class `ClassContainer`

### createMethodMap

    protected void createMethodMap()

  Overrides:
    `createMethodMap` in class `ClassContainer`

### createInstanceProxyContainer

    public InstanceProxyContainer createInstanceProxyContainer(InterfaceIntroduction introduction,
                                                               org.jboss.repository.spi.MetaDataContext metaDataContext)

### createInstanceProxyContainer

    public InstanceProxyContainer createInstanceProxyContainer()

### initialise

    public void initialise(Class proxiedClass)

### chainOverridingForInheritedMethods

    protected boolean chainOverridingForInheritedMethods()

  Description copied from class: `Advisor`
  Whether the type of advisor supports matching on pointcut expression, where the method is defined in a superclass only, while the pointcut expression class matches the subclass. This is currently only supported for generated advisors, due to the new weaving model. So (with generated advisors) if we have
  `
  public class Super {
  void method(){}
  }
  public class Sub etxends Super {
  }
  ` and
  `<bind pointcut="execution(* Super->method())">
  <interceptor class="A"/>
  </bind>
  <bind pointcut="execution(* sub->method())">
  <interceptor class="B"/>
  </bind>
  `
  Super.method() will be intercepted by A only
  Sub.method() will be intercepted by A and B

  Overrides:
    `chainOverridingForInheritedMethods` in class `Advisor`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 JBoss Inc. All Rights Reserved.