当前位置: 首页>>代码示例>>Java>>正文


Java ProceedingJoinPoint.getThis方法代码示例

本文整理汇总了Java中org.aspectj.lang.ProceedingJoinPoint.getThis方法的典型用法代码示例。如果您正苦于以下问题:Java ProceedingJoinPoint.getThis方法的具体用法?Java ProceedingJoinPoint.getThis怎么用?Java ProceedingJoinPoint.getThis使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.aspectj.lang.ProceedingJoinPoint的用法示例。


在下文中一共展示了ProceedingJoinPoint.getThis方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: aroundFollow

import org.aspectj.lang.ProceedingJoinPoint; //导入方法依赖的package包/类
@Around("execution(* org.odindelrio.dddaopentitybehaviour.domain.Follower.follow(..))")
public Object aroundFollow(ProceedingJoinPoint pjp) throws Throwable {

  System.out.println("AROUND Follow Entity follow()");

  // First attempt to inject repository...
  System.out.println("Injecting Repository to entity...");
  ((Follower) pjp.getThis()).followersRepository = followersRepository;

  return pjp.proceed();
}
 
开发者ID:odin-delrio,项目名称:aop-for-entity-behaviour,代码行数:12,代码来源:FollowerAspect.java

示例2: TargetHandle

import org.aspectj.lang.ProceedingJoinPoint; //导入方法依赖的package包/类
TargetHandle(ProceedingJoinPoint origin) {
    if (origin != null) {
        this.origin = origin;
        this.target = origin.getThis();
    }
}
 
开发者ID:TangXiaoLv,项目名称:Surgeon,代码行数:7,代码来源:TargetHandle.java

示例3: intercept

import org.aspectj.lang.ProceedingJoinPoint; //导入方法依赖的package包/类
@Around("execution(@org.alfresco.traitextender.Extend * *(..)) && (@annotation(extendAnnotation))")
public Object intercept(ProceedingJoinPoint pjp, Extend extendAnnotation) throws Throwable
{
    boolean ajPointsEnabled = AJExtender.areAJPointsEnabled();
    try
    {
        AJExtender.enableAJPoints();
        if (ajPointsEnabled)
        {
            Object extensibleObject = pjp.getThis();
            if (!(extensibleObject instanceof Extensible))
            {
                throw new InvalidExtension("Invalid extension point for non extensible class  : "
                            + extensibleObject.getClass());
            }
            Extensible extensible = (Extensible) extensibleObject;

            @SuppressWarnings({ "rawtypes", "unchecked" })
            ExtensionPoint point = new ExtensionPoint(extendAnnotation.extensionAPI(),
                                                      extendAnnotation.traitAPI());
            @SuppressWarnings("unchecked")
            Object extension = Extender.getInstance().getExtension(extensible,
                                                                   point);
            if (extension != null)
            {

                return AJExtender.extendAroundAdvice(pjp,
                                                     extensible,
                                                     extendAnnotation,
                                                     extension);
            }
            else if (logger.isDebugEnabled())
            {
                MethodSignature ms = (MethodSignature) pjp.getSignature();
                Method traitMethod = ms.getMethod();

                AJExtender.oneTimeLiveLog(logger,
                                          new ExtensionRoute(extendAnnotation,
                                                             traitMethod));
            }
        }
        return pjp.proceed();
    }
    finally
    {
        AJExtender.revertAJPoints();
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:49,代码来源:RouteExtensions.java


注:本文中的org.aspectj.lang.ProceedingJoinPoint.getThis方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。