Interface MutableAttributeHolder

All Superinterfaces:
AttributeHolder
All Known Subinterfaces:
ApplicationContext, BeanContext, ByteBodyHttpResponse<B>, ConfigurableApplicationContext, ConfigurableBeanContext, ConstructorInvocationContext<T>, FullHttpRequest<B>, HttpMessage<B>, HttpRequest<B>, HttpResponse<B>, InvocationContext<T,R>, MethodInvocationContext<T,R>, MutableHttpMessage<B>, MutableHttpRequest<B>, MutableHttpResponse<B>, PushCapableHttpRequest<B>, ServerHttpRequest<B>
All Known Implementing Classes:
AbstractNettyHttpRequest, ByteBodyHttpResponseWrapper, ConstructorInterceptorChain, DefaultBeanContext, FullNettyClientHttpResponse, HttpMessageWrapper, HttpRequestWrapper, HttpResponseAdapter, HttpResponseWrapper, InterceptorChain, MethodInterceptorChain, MutableHttpRequestWrapper, NettyClientHttpRequest, NettyHttpRequest, NettyMutableHttpResponse, SimpleHttpRequest

public interface MutableAttributeHolder extends AttributeHolder
An interface for types that support mutating attributes.
Since:
1.0
Author:
graemerocher
  • Method Details

    • getAttributes

      @NonNull MutableConvertibleValues<Object> getAttributes()
      Overrides the default AttributeHolder.getAttributes() method to return a mutable object.
      Specified by:
      getAttributes in interface AttributeHolder
      Returns:
      The mutable attributes
    • setAttribute

      default @NonNull MutableAttributeHolder setAttribute(@NonNull CharSequence name, @Nullable Object value)
      Sets an attribute on the message.
      Parameters:
      name - The name of the attribute
      value - The value of the attribute
      Returns:
      This message
    • removeAttribute

      default <T> @NonNull Optional<T> removeAttribute(@NonNull CharSequence name, @NonNull Class<T> type)
      Remove an attribute. Returning the old value if it is present.
      Type Parameters:
      T - type Generic
      Parameters:
      name - The name of the attribute
      type - The required type
      Returns:
      An Optional value