in artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/QueueView.java [87:129]
public Object getField(QueueControl queue, String fieldName) {
Queue q = server.locateQueue(SimpleString.of(queue.getName()));
QueueField field = QueueField.valueOfName(fieldName);
return switch (field) {
case ID -> queue.getID();
case NAME -> queue.getName();
case ADDRESS -> queue.getAddress();
case FILTER -> queue.getFilter();
case DURABLE -> queue.isDurable();
case PAUSED -> queue.isPaused();
case PERSISTEDPAUSE -> queue.isPersistedPause();
case TEMPORARY -> queue.isTemporary();
case PURGE_ON_NO_CONSUMERS -> queue.isPurgeOnNoConsumers();
case CONSUMER_COUNT -> queue.getConsumerCount();
case MAX_CONSUMERS -> queue.getMaxConsumers();
case AUTO_CREATED -> q.isAutoCreated();
case USER -> q.getUser();
case ROUTING_TYPE -> queue.getRoutingType();
case MESSAGES_ADDED -> queue.getMessagesAdded();
case MESSAGE_COUNT -> queue.getMessageCount();
case MESSAGES_ACKED -> queue.getMessagesAcknowledged();
case MESSAGES_EXPIRED -> queue.getMessagesExpired();
case DELIVERING_COUNT -> queue.getDeliveringCount();
case MESSAGES_KILLED -> queue.getMessagesKilled();
case DIRECT_DELIVER -> q.isDirectDeliver();
case EXCLUSIVE -> q.isExclusive();
case LAST_VALUE -> q.isLastValue();
case LAST_VALUE_KEY -> q.getLastValueKey();
case SCHEDULED_COUNT -> q.getScheduledCount();
case GROUP_REBALANCE -> queue.isGroupRebalance();
case GROUP_REBALANCE_PAUSE_DISPATCH -> queue.isGroupRebalancePauseDispatch();
case GROUP_BUCKETS -> queue.getGroupBuckets();
case GROUP_FIRST_KEY -> queue.getGroupFirstKey();
case ENABLED -> q.isEnabled();
case RING_SIZE -> q.getRingSize();
case CONSUMERS_BEFORE_DISPATCH -> q.getConsumersBeforeDispatch();
case DELAY_BEFORE_DISPATCH -> q.getDelayBeforeDispatch();
case INTERNAL_QUEUE -> q.isInternalQueue();
default -> throw new IllegalArgumentException("Unsupported field, " + fieldName);
};
}