Class RouteExtensions


  • public class RouteExtensions
    extends java.lang.Object
    An method override extension routing aspect.
    Overrides calls to methods marked by an Extend annotation with calls to methods having the same signature in extensions registered for the ExtensionPoint referred by the Extend method annotation.
    Overriding methods can call the overridden method using its correspondent Trait representation (i.e. a method having the same signature).
    If no extension is defined the call proceeds with the original method.
    The aspect uses the AJExtender static utility to for extension invocation and for maintaining thread-local extension-bypass contexts as not all calls must be overridden and calls from within the extension must be aware of this context (see AJProxyTrait).
    Author:
    Bogdan Horje
    • Constructor Summary

      Constructors 
      Constructor Description
      RouteExtensions()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object intercept​(org.aspectj.lang.ProceedingJoinPoint pjp, Extend extendAnnotation)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RouteExtensions

        public RouteExtensions()
    • Method Detail

      • intercept

        public java.lang.Object intercept​(org.aspectj.lang.ProceedingJoinPoint pjp,
                                          Extend extendAnnotation)
                                   throws java.lang.Throwable
        Throws:
        java.lang.Throwable