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
  • Method Details

    • shouldDeclare

      boolean shouldDeclare()
      Whether or not 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 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

      @Nullable default 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