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;
});
}