Interface InterceptorParams

All Superinterfaces:
Serializable
All Known Implementing Classes:
DisableParams, UploadPolicy

public interface InterceptorParams extends Serializable
Contract for an object holding the parameters of a single interceptor.

Implementations are per-invocation value objects: the framework resolves configured parameters into a fresh instance for each action invocation, so nothing is written back onto the interceptor, which stays immutable after Interceptor.init().

Extends Serializable because an interceptor holding its configured params is itself serializable; a non-serializable holder would silently break serialization of any interceptor that keeps one as a field.

Since:
7.3.0
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    unresolved(String paramName)
    Called when a configured parameter could not be applied for the current invocation - either a ${...} expression that did not resolve, or a value the holder's setter could not accept.
  • Method Details

    • unresolved

      default void unresolved(String paramName)
      Called when a configured parameter could not be applied for the current invocation - either a ${...} expression that did not resolve, or a value the holder's setter could not accept. The framework skips the write and notifies the holder so it can decide how to degrade.

      Whatever the holder was seeded with stays in place, but it is rarely a usable default: the seed comes from applying the raw configuration string at build time, so for a ${...} param it is the unevaluated literal, or nothing at all when that literal could not be converted to the property's type. A holder guarding a security-sensitive dimension should therefore treat this as a reason to fail closed rather than carry on.

      The default implementation does nothing.

      Parameters:
      paramName - name of the parameter that could not be applied