public static QueueDescriptionImpl fromXml()

in sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/administration/implementation/models/QueueDescriptionImpl.java [846:963]


    public static QueueDescriptionImpl fromXml(XmlReader xmlReader, String rootElementName) throws XMLStreamException {
        String finalRootElementName = CoreUtils.isNullOrEmpty(rootElementName) ? "QueueDescription" : rootElementName;
        return xmlReader.readObject(SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT, finalRootElementName, reader -> {
            QueueDescriptionImpl deserializedQueueDescription = new QueueDescriptionImpl();
            while (reader.nextElement() != XmlToken.END_ELEMENT) {
                QName elementName = reader.getElementName();

                if ("LockDuration".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.lockDuration = reader.getNullableElement(Duration::parse);
                } else if ("MaxSizeInMegabytes".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.maxSizeInMegabytes = reader.getNullableElement(Long::parseLong);
                } else if ("RequiresDuplicateDetection".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.requiresDuplicateDetection
                        = reader.getNullableElement(Boolean::parseBoolean);
                } else if ("RequiresSession".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.requiresSession = reader.getNullableElement(Boolean::parseBoolean);
                } else if ("DefaultMessageTimeToLive".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.defaultMessageTimeToLive = reader.getNullableElement(Duration::parse);
                } else if ("DeadLetteringOnMessageExpiration".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.deadLetteringOnMessageExpiration
                        = reader.getNullableElement(Boolean::parseBoolean);
                } else if ("DuplicateDetectionHistoryTimeWindow".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.duplicateDetectionHistoryTimeWindow
                        = reader.getNullableElement(Duration::parse);
                } else if ("MaxDeliveryCount".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.maxDeliveryCount = reader.getNullableElement(Integer::parseInt);
                } else if ("EnableBatchedOperations".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.enableBatchedOperations
                        = reader.getNullableElement(Boolean::parseBoolean);
                } else if ("SizeInBytes".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.sizeInBytes = reader.getNullableElement(Long::parseLong);
                } else if ("MessageCount".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.messageCount = reader.getNullableElement(Integer::parseInt);
                } else if ("IsAnonymousAccessible".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.isAnonymousAccessible
                        = reader.getNullableElement(Boolean::parseBoolean);
                } else if ("AuthorizationRules".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    while (reader.nextElement() != XmlToken.END_ELEMENT) {
                        elementName = reader.getElementName();
                        if ("AuthorizationRule".equals(elementName.getLocalPart())
                            && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                            if (deserializedQueueDescription.authorizationRules == null) {
                                deserializedQueueDescription.authorizationRules = new ArrayList<>();
                            }
                            deserializedQueueDescription.authorizationRules
                                .add(AuthorizationRuleImpl.fromXml(reader, "AuthorizationRule"));
                        } else {
                            reader.skipElement();
                        }
                    }
                } else if ("Status".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.status = EntityStatus.fromString(reader.getStringElement());
                } else if ("ForwardTo".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.forwardTo = reader.getStringElement();
                } else if ("UserMetadata".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.userMetadata = reader.getStringElement();
                } else if ("CreatedAt".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.createdAt
                        = reader.getNullableElement(dateString -> CoreUtils.parseBestOffsetDateTime(dateString));
                } else if ("UpdatedAt".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.updatedAt
                        = reader.getNullableElement(dateString -> CoreUtils.parseBestOffsetDateTime(dateString));
                } else if ("AccessedAt".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.accessedAt
                        = reader.getNullableElement(dateString -> CoreUtils.parseBestOffsetDateTime(dateString));
                } else if ("SupportOrdering".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.supportOrdering = reader.getNullableElement(Boolean::parseBoolean);
                } else if ("CountDetails".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.messageCountDetails
                        = MessageCountDetailsImpl.fromXml(reader, "CountDetails");
                } else if ("AutoDeleteOnIdle".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.autoDeleteOnIdle = reader.getNullableElement(Duration::parse);
                } else if ("EnablePartitioning".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.enablePartitioning = reader.getNullableElement(Boolean::parseBoolean);
                } else if ("EntityAvailabilityStatus".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.entityAvailabilityStatus
                        = EntityAvailabilityStatusImpl.fromString(reader.getStringElement());
                } else if ("ForwardDeadLetteredMessagesTo".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.forwardDeadLetteredMessagesTo = reader.getStringElement();
                } else if ("EnableExpress".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.enableExpress = reader.getNullableElement(Boolean::parseBoolean);
                } else if ("MaxMessageSizeInKilobytes".equals(elementName.getLocalPart())
                    && SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
                    deserializedQueueDescription.maxMessageSizeInKilobytes = reader.getNullableElement(Long::parseLong);
                } else {
                    reader.skipElement();
                }
            }

            return deserializedQueueDescription;
        });
    }