Interface Declarable

All Known Subinterfaces:
Exchange
All Known Implementing Classes:
AbstractDeclarable, AbstractExchange, AnonymousQueue, Binding, ConsistentHashExchange, CustomExchange, DirectExchange, FanoutExchange, HeadersExchange, Queue, TopicExchange

public interface Declarable
Classes implementing this interface can be auto-declared with the broker during context initialization by an AmqpAdmin. Registration can be limited to specific AmqpAdmins.
Since:
1.2
Author:
Gary Russell, Artem Bilan
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    addArgument(String name, Object value)
    Add an argument to the declarable.
    The collection of AmqpAdmins that should declare this object; if empty, all admins should declare.
    boolean
    Should ignore exceptions (such as mismatched args) when declaring.
    default @Nullable Object
    Remove an argument from the declarable.
    void
    setAdminsThatShouldDeclare(@Nullable Object... adminArgs)
    The AmqpAdmins that should declare this object; default is all admins.
    boolean
    Whether this object should be automatically declared by any AmqpAdmin.
  • Method Details

    • shouldDeclare

      boolean shouldDeclare()
      Whether this object should be automatically declared by any AmqpAdmin.
      Returns:
      true if the object should be declared.
    • getDeclaringAdmins

      Collection<?> getDeclaringAdmins()
      The collection of AmqpAdmins that should declare this object; if empty, all admins should declare.
      Returns:
      the collection.
    • isIgnoreDeclarationExceptions

      boolean isIgnoreDeclarationExceptions()
      Should ignore exceptions (such as mismatched args) when declaring.
      Returns:
      true if it should ignore.
      Since:
      1.6
    • setAdminsThatShouldDeclare

      void setAdminsThatShouldDeclare(@Nullable Object... adminArgs)
      The AmqpAdmins that should declare this object; default is all admins.

      A null argument, or an array/varArg with a single null argument, clears the collection (setAdminsThatShouldDeclare((AmqpAdmin) null) or setAdminsThatShouldDeclare((AmqpAdmin[]) null)). Clearing the collection resets the behavior such that all admins will declare the object.
      Parameters:
      adminArgs - The admins.
    • addArgument

      default void addArgument(String name, Object value)
      Add an argument to the declarable.
      Parameters:
      name - the argument name.
      value - the argument value.
      Since:
      2.2.2
    • removeArgument

      default @Nullable Object removeArgument(String name)
      Remove an argument from the declarable.
      Parameters:
      name - the argument name.
      Returns:
      the argument value or null if not present.
      Since:
      2.2.2