public MetaDataResolver getInstanceResolver() { if (instanceResolver != null) return instanceResolver; if (getTargetObject() != null) { if (getTargetObject() instanceof InstanceAdvised) { InstanceAdvisor ia = ((InstanceAdvised) getTargetObject())._getInstanceAdvisor(); if (ia != null) { instanceResolver = ia.getMetaData(); return instanceResolver; } } } return null; }
/** * Invoke on the next interceptor in the chain. If this is already * the end of the chain, reflection will call the constructor, field, or * method you are invoking on. * <p/> * The Invocation will use a new set of interceptors to do the invocation */ public Object invokeNext(Interceptor[] newInterceptors) throws Throwable { // Save the old stack position org.jboss.aop.advice.Interceptor[] oldInterceptors = interceptors; int oldCurrentInterceptor = currentInterceptor; // Start the new stack interceptors = newInterceptors; currentInterceptor = 0; // Invoke the new stack try { return invokeNext(); } finally { // Restore the old stack interceptors = oldInterceptors; currentInterceptor = oldCurrentInterceptor; } }
public Object resolveClassAnnotation(Class<? extends Annotation> annotation) { return resolveTypedClassAnnotation(annotation); }
public <T extends Annotation> T resolveTypedAnnotation(Class<T> annotation) { T val = super.resolveTypedAnnotation(annotation); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().resolveTypedAnnotation(constructor, annotation); if (val != null) return val; } return null; }
/** * This method resolves metadata based on the context of the invocation. * It iterates through its list of MetaDataResolvers to find out the * value of the metadata desired. * * This list usually is ThreadMetaData, InstanceAdvisor.getMetaData * ClassAdvisor.getMethodMetaData (or field, or constructor) * ClassAdvisor.getDefaultMetaData */ public Object getMetaData(Object group, Object attr) { Object val = super.getMetaData(group, attr); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().getConstructorMetaData().resolve(this, group, attr); if (val != null) return val; } if (getAdvisor() != null) { val = getAdvisor().getDefaultMetaData().resolve(this, group, attr); if (val != null) return val; } return null; }
public org.jboss.aop.joinpoint.InvocationResponse _dynamicInvoke(org.jboss.aop.joinpoint.Invocation invocation) throws Throwable { ((org.jboss.aop.joinpoint.InvocationBase) invocation).setInstanceResolver(instanceAdvisor.getMetaData()); org.jboss.aop.advice.Interceptor[] aspects = instanceAdvisor.getInterceptors(); return new org.jboss.aop.joinpoint.InvocationResponse(invocation.invokeNext(aspects)); }
public ArrayElementInvocation(Interceptor[] interceptors, Object array, int index) { super(interceptors); super.setTargetObject(array); this.index = index; }
public Object resolveClassMetaData(Object key, Object attr) { return getAdvisor().getClassMetaData().getMetaData(key, attr); }
/** * This method resolves metadata based on the context of the invocation. * It iterates through its list of MetaDataResolvers to find out the * value of the metadata desired. * <p/> * This list usually is ThreadMetaData, InstanceAdvisor.getMetaData * ClassAdvisor.getMethodMetaData (or field, or constructor) * ClassAdvisor.getDefaultMetaData */ public Object getMetaData(Object group, Object attr) { Object val = null; if (this.metadata != null) { val = this.metadata.resolve(this, group, attr); if (val != null) return val; } val = org.jboss.aop.metadata.ThreadMetaData.instance().resolve(this, group, attr); if (val != null) return val; MetaDataResolver resolver = getInstanceResolver(); if (resolver != null) { val = getInstanceResolver().resolve(this, group, attr); if (val != null) return val; } return null; }
/** * This method resolves an annotation based on the context of the invocation. */ public Object resolveAnnotation(Class<? extends Annotation>[] annotations) { Object val = super.resolveAnnotation(annotations); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().resolveAnnotation(getMethod(), annotations); if (val != null) return val; } return null; }
public <T extends Annotation> T resolveTypedAnnotation(Class<T> annotation) { T val = super.resolveTypedAnnotation(annotation); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().resolveTypedAnnotation(constructor, annotation); if (val != null) return val; } return null; } /**
/** * This method resolves metadata based on the context of the invocation. * It iterates through its list of MetaDataResolvers to find out the * value of the metadata desired. * <p/> * This list usually is ThreadMetaData, InstanceAdvisor.getMetaData * ClassAdvisor.getMethodMetaData (or field, or constructor) * ClassAdvisor.getDefaultMetaData */ public Object getMetaData(Object group, Object attr) { Object val = super.getMetaData(group, attr); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().getMethodMetaData().resolve(this, group, attr); if (val != null) return val; } if (getAdvisor() != null) { val = getAdvisor().getDefaultMetaData().resolve(this, group, attr); if (val != null) return val; } return null; }
public org.jboss.aop.joinpoint.InvocationResponse _dynamicInvoke(org.jboss.aop.joinpoint.Invocation invocation) throws Throwable { ((org.jboss.aop.joinpoint.InvocationBase) invocation).setInstanceResolver(instanceAdvisor.getMetaData()); org.jboss.aop.advice.Interceptor[] aspects = instanceAdvisor.getInterceptors(); return new org.jboss.aop.joinpoint.InvocationResponse(invocation.invokeNext(aspects)); }
/** * Copy constructor. */ public InvocationBase(Invocation invocation) { this.interceptors = invocation.getInterceptors(); setTargetObject(invocation.getTargetObject()); }
public <T extends Annotation> T resolveTypedAnnotation(Class<T> annotation) { T val = super.resolveTypedAnnotation(annotation); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().resolveTypedAnnotation(field, annotation); if (val != null) return val; } return null; }
/** * This method resolves metadata based on the context of the invocation. * It iterates through its list of MetaDataResolvers to find out the * value of the metadata desired. * * This list usually is ThreadMetaData, InstanceAdvisor.getMetaData * ClassAdvisor.getMethodMetaData (or field, or constructor) * ClassAdvisor.getDefaultMetaData */ public Object getMetaData(Object group, Object attr) { Object val = super.getMetaData(group, attr); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().getConstructorMetaData().resolve(this, group, attr); if (val != null) return val; } if (getAdvisor() != null) { val = getAdvisor().getDefaultMetaData().resolve(this, group, attr); if (val != null) return val; } return null; }
public <T extends Annotation> T resolveTypedAnnotation(Class<T>[] annotations) { T val = super.resolveTypedAnnotation(annotations); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().resolveTypedAnnotation(getMethod(), annotations); if (val != null) return val; } return null; }
/** * This method resolves metadata based on the context of the invocation. * It iterates through its list of MetaDataResolvers to find out the * value of the metadata desired. * * This list usually is ThreadMetaData, InstanceAdvisor.getMetaData * ClassAdvisor.getMethodMetaData (or field, or constructor) * ClassAdvisor.getDefaultMetaData */ public Object getMetaData(Object group, Object attr) { Object val = super.getMetaData(group, attr); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().getFieldMetaData().resolve(this, group, attr); if (val != null) return val; } if (getAdvisor() != null) { val = getAdvisor().getDefaultMetaData().resolve(this, group, attr); if (val != null) return val; } return null; }
public <T extends Annotation> T resolveTypedAnnotation(Class<T> annotation) { T val = super.resolveTypedAnnotation(annotation); if (val != null) return val; if (getAdvisor() != null) { val = getAdvisor().resolveTypedAnnotation(getMethodHash(), getMethod(), annotation); if (val != null) return val; } return null; }