Class AgentBuilder.FallbackStrategy.ByThrowableType

java.lang.Object
net.bytebuddy.agent.builder.AgentBuilder.FallbackStrategy.ByThrowableType
All Implemented Interfaces:
AgentBuilder.FallbackStrategy
Enclosing interface:
AgentBuilder.FallbackStrategy

@Enhance public static class AgentBuilder.FallbackStrategy.ByThrowableType extends Object implements AgentBuilder.FallbackStrategy
A fallback strategy that discriminates by the type of the Throwable that triggered a request.
  • Field Details

    • types

      private final Set<? extends Class<? extends Throwable>> types
      A set of throwable types that should trigger a fallback attempt.
  • Constructor Details

    • ByThrowableType

      public ByThrowableType(Class<? extends Throwable>... type)
      Creates a new throwable type-discriminating fallback strategy.
      Parameters:
      type - The throwable types that should trigger a fallback.
    • ByThrowableType

      public ByThrowableType(Set<? extends Class<? extends Throwable>> types)
      Creates a new throwable type-discriminating fallback strategy.
      Parameters:
      types - The throwable types that should trigger a fallback.
  • Method Details

    • ofOptionalTypes

      public static AgentBuilder.FallbackStrategy ofOptionalTypes()
      Creates a fallback strategy that attempts a fallback if an error indicating a type error is the reason for requesting a reattempt.
      Returns:
      A fallback strategy that triggers a reattempt if a LinkageError or a TypeNotPresentException is raised.
    • isFallback

      public boolean isFallback(Class<?> type, Throwable throwable)
      Returns true if the supplied type and throwable combination should result in a reattempt where the loaded type is not used for querying information.
      Specified by:
      isFallback in interface AgentBuilder.FallbackStrategy
      Parameters:
      type - The loaded type that was queried during the transformation attempt.
      throwable - The error or exception that was caused during the transformation.
      Returns:
      true if the supplied type and throwable combination should