Class Implementation.Compound.Composable

    • Field Detail

      • implementations

        private final java.util.List<Implementation> implementations
        All implementation that are represented by this compound implementation.
    • Constructor Detail

      • Composable

        public Composable​(Implementation implementation,
                          Implementation.Composable composable)
        Creates a new compound composable.
        Parameters:
        implementation - An implementation that is represented by this compound implementation prior to the composable.
        composable - The composable implementation that is applied last.
      • Composable

        public Composable​(java.util.List<? extends Implementation> implementations,
                          Implementation.Composable composable)
        Creates a new compound composable.
        Parameters:
        implementations - All implementation that are represented by this compound implementation excluding the composable.
        composable - The composable implementation that is applied last.
    • Method Detail

      • appender

        public ByteCodeAppender appender​(Implementation.Target implementationTarget)
        Creates a byte code appender that determines the implementation of the instrumented type's methods.
        Specified by:
        appender in interface Implementation
        Parameters:
        implementationTarget - The target of the current implementation.
        Returns:
        A byte code appender for implementing methods delegated to this implementation. This byte code appender is also responsible for handling methods that were added by this implementation on the call to InstrumentedType.Prepareable.prepare(InstrumentedType).
      • andThen

        public Implementation andThen​(Implementation implementation)
        Appends the supplied implementation to this implementation.
        Specified by:
        andThen in interface Implementation.Composable
        Parameters:
        implementation - The subsequent implementation.
        Returns:
        An implementation that combines this implementation with the provided one.