in sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/administration/implementation/models/TopicDescriptionImpl.java [729:835]
public static TopicDescriptionImpl fromXml(XmlReader xmlReader, String rootElementName) throws XMLStreamException {
String finalRootElementName = CoreUtils.isNullOrEmpty(rootElementName) ? "TopicDescription" : rootElementName;
return xmlReader.readObject(SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT, finalRootElementName, reader -> {
TopicDescriptionImpl deserializedTopicDescription = new TopicDescriptionImpl();
while (reader.nextElement() != XmlToken.END_ELEMENT) {
QName elementName = reader.getElementName();
if ("DefaultMessageTimeToLive".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.defaultMessageTimeToLive = reader.getNullableElement(Duration::parse);
} else if ("MaxSizeInMegabytes".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.maxSizeInMegabytes = reader.getNullableElement(Long::parseLong);
} else if ("RequiresDuplicateDetection".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.requiresDuplicateDetection
= reader.getNullableElement(Boolean::parseBoolean);
} else if ("DuplicateDetectionHistoryTimeWindow".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.duplicateDetectionHistoryTimeWindow
= reader.getNullableElement(Duration::parse);
} else if ("EnableBatchedOperations".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.enableBatchedOperations
= reader.getNullableElement(Boolean::parseBoolean);
} else if ("SizeInBytes".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.sizeInBytes = reader.getNullableElement(Long::parseLong);
} else if ("FilteringMessagesBeforePublishing".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.filteringMessagesBeforePublishing
= reader.getNullableElement(Boolean::parseBoolean);
} else if ("IsAnonymousAccessible".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.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 (deserializedTopicDescription.authorizationRules == null) {
deserializedTopicDescription.authorizationRules = new ArrayList<>();
}
deserializedTopicDescription.authorizationRules
.add(AuthorizationRuleImpl.fromXml(reader, "AuthorizationRule"));
} else {
reader.skipElement();
}
}
} else if ("Status".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.status = EntityStatus.fromString(reader.getStringElement());
} else if ("CreatedAt".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.createdAt
= reader.getNullableElement(dateString -> CoreUtils.parseBestOffsetDateTime(dateString));
} else if ("UpdatedAt".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.updatedAt
= reader.getNullableElement(dateString -> CoreUtils.parseBestOffsetDateTime(dateString));
} else if ("AccessedAt".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.accessedAt
= reader.getNullableElement(dateString -> CoreUtils.parseBestOffsetDateTime(dateString));
} else if ("SupportOrdering".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.supportOrdering = reader.getNullableElement(Boolean::parseBoolean);
} else if ("CountDetails".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.messageCountDetails
= MessageCountDetailsImpl.fromXml(reader, "CountDetails");
} else if ("SubscriptionCount".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.subscriptionCount = reader.getNullableElement(Integer::parseInt);
} else if ("AutoDeleteOnIdle".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.autoDeleteOnIdle = reader.getNullableElement(Duration::parse);
} else if ("EnablePartitioning".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.enablePartitioning = reader.getNullableElement(Boolean::parseBoolean);
} else if ("EntityAvailabilityStatus".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.entityAvailabilityStatus
= EntityAvailabilityStatusImpl.fromString(reader.getStringElement());
} else if ("EnableSubscriptionPartitioning".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.enableSubscriptionPartitioning
= reader.getNullableElement(Boolean::parseBoolean);
} else if ("EnableExpress".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.enableExpress = reader.getNullableElement(Boolean::parseBoolean);
} else if ("UserMetadata".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.userMetadata = reader.getStringElement();
} else if ("MaxMessageSizeInKilobytes".equals(elementName.getLocalPart())
&& SCHEMAS_MICROSOFT_COM_SERVICEBUS_CONNECT.equals(elementName.getNamespaceURI())) {
deserializedTopicDescription.maxMessageSizeInKilobytes = reader.getNullableElement(Long::parseLong);
} else {
reader.skipElement();
}
}
return deserializedTopicDescription;
});
}