hidralink es una una framework Java orientada a aspectos (AOP) con un diseño basado en las interfaces de AOPAlliance, por lo que los aspectos creados pueden ser utilizados en otras implementaciones de AOP que sean compatibles con AOPAlliance.

hidralink tiene los siguientes features:

  • Framework orientada a aspectos que por ahora solo soporta interceptores (en próximas versiones soportara Introducciones y mixin)
  • Soporta interfaces de AOPAlliance
  • Configuración programática o por declarativa via XML
  • Utiliza DynamicProxy de J2SE o CGLIB como mecanismo de intercepción de metodos
  • Simple, rapido y liviano
  • Implementa interfaces popias que facilitan la programación de los aspectos
  • Varias estrategias de invocacion, por observers/observable o chain
  • Diferentes formas de definir pointcuts (todos los metodos de una clase, los metodos de una interface o por expresiones regulares)
  • Permite cambiar en comportamiento interno mediante configuración
  • También posee las siguientes caracteristicas:

  • Un aspecto tiene un advisor que se encarga de definir en que metodos del objeto target se aplica y que advices se ejecutan. De esta forma se pueden reutilizar los pointcuts y los advices entre diferentes aspectos, solo hay que agregarlos a un advisor y luego este al aspecto
  • Un aspecto tiene un solo objeto "target" y un "advisor"
  • Un advisor tiene n pointcuts (permite aplicar union o interseccion entre pointcuts) + n advices
  • Los pointcut pueden ser reutilizados entre aspectos
  • El orden de ejecución de los advice es segun el orden en que se hayan configurado