Module jdk.dynalink

Interface GuardedInvocationTransformer

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface
public interface GuardedInvocationTransformer
Interface for objects that are used to transform one guarded invocation into another one. Typical usage is for implementing pre-link transformers.
  • Method Details

    • filter

      GuardedInvocation filter​(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices)
      Given a guarded invocation, return either the same or potentially different guarded invocation.
      Parameters:
      inv - the original guarded invocation.
      linkRequest - the link request for which the invocation was generated (usually by some linker).
      linkerServices - the linker services that can be used during creation of a new invocation.
      Returns:
      either the passed guarded invocation or a different one, with the difference usually determined based on information in the link request and the differing invocation created with the assistance of the linker services. Whether or not null is an accepted return value is dependent on the user of the filter.
      Throws:
      NullPointerException - is allowed to be thrown by implementations if any of the passed arguments is null.