/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. * * Code generated by Microsoft (R) AutoRest Code Generator. */ package com.microsoft.azure.management.servicebus.implementation; import org.joda.time.DateTime; import com.microsoft.azure.management.servicebus.MessageCountDetails; import com.microsoft.azure.management.servicebus.EntityStatus; import com.fasterxml.jackson.annotation.JsonProperty; import com.microsoft.rest.serializer.JsonFlatten; import com.microsoft.azure.Resource; /** * Description of topic resource. */ @JsonFlatten public class TopicInner extends Resource { /** * Last time the message was sent, or a request was received, for this * topic. */ @JsonProperty(value = "properties.accessedAt", access = JsonProperty.Access.WRITE_ONLY) private DateTime accessedAt; /** * TimeSpan idle interval after which the topic is automatically deleted. * The minimum duration is 5 minutes. The service accepts a C# Standard * TimeSpan Format for loc duration * https://msdn.microsoft.com/en-us/library/ee372286(v=vs.110).aspx . * Format is 'DD.HH:MM:SS' and default value of this property is 10675199 * days. */ @JsonProperty(value = "properties.autoDeleteOnIdle") private String autoDeleteOnIdle; /** * Exact time the Tpoic was created. */ @JsonProperty(value = "properties.createdAt", access = JsonProperty.Access.WRITE_ONLY) private DateTime createdAt; /** * The countDetails property. */ @JsonProperty(value = "properties.countDetails", access = JsonProperty.Access.WRITE_ONLY) private MessageCountDetails countDetails; /** * Default message time to live value. This is the duration after which the * message expires, starting from when the message is sent to Service Bus. * This is the default value used when TimeToLive is not set on a message * itself. The service accepts a C# Standard TimeSpan Format for loc * duration * https://msdn.microsoft.com/en-us/library/ee372286(v=vs.110).aspx . * Format is 'DD.HH:MM:SS' and default value of this property is 10675199 * days. */ @JsonProperty(value = "properties.defaultMessageTimeToLive") private String defaultMessageTimeToLive; /** * TimeSpan structure that defines the duration of the duplicate detection * history. The default value is 10 minutes. The service accepts a C# * Standard TimeSpan Format for loc duration * https://msdn.microsoft.com/en-us/library/ee372286(v=vs.110).aspx . * Format is 'DD.HH:MM:SS' and default value of this property is 10675199 * days. */ @JsonProperty(value = "properties.duplicateDetectionHistoryTimeWindow") private String duplicateDetectionHistoryTimeWindow; /** * Value that indicates whether server-side batched operations are enabled. */ @JsonProperty(value = "properties.enableBatchedOperations") private Boolean enableBatchedOperations; /** * Value that indicates whether Express Entities are enabled. An express * topic holds a message in memory temporarily before writing it to * persistent storage. */ @JsonProperty(value = "properties.enableExpress") private Boolean enableExpress; /** * Value that indicates whether the topic to be partitioned across multiple * message brokers is enabled. */ @JsonProperty(value = "properties.enablePartitioning") private Boolean enablePartitioning; /** * Maximum size of the topic in megabytes, which is the size of the memory * allocated for the topic. */ @JsonProperty(value = "properties.maxSizeInMegabytes") private Long maxSizeInMegabytes; /** * Value indicating if this topic requires duplicate detection. */ @JsonProperty(value = "properties.requiresDuplicateDetection") private Boolean requiresDuplicateDetection; /** * Size of the topic, in bytes. */ @JsonProperty(value = "properties.sizeInBytes", access = JsonProperty.Access.WRITE_ONLY) private Long sizeInBytes; /** * Enumerates the possible values for the status of a messaging entity. * Possible values include: 'Active', 'Creating', 'Deleting', 'Disabled', * 'ReceiveDisabled', 'Renaming', 'Restoring', 'SendDisabled', 'Unknown'. */ @JsonProperty(value = "properties.status", access = JsonProperty.Access.WRITE_ONLY) private EntityStatus status; /** * Number of subscriptions. */ @JsonProperty(value = "properties.subscriptionCount", access = JsonProperty.Access.WRITE_ONLY) private Integer subscriptionCount; /** * Value that indicates whether the topic supports ordering. */ @JsonProperty(value = "properties.supportOrdering") private Boolean supportOrdering; /** * The exact time the Topic was updated. */ @JsonProperty(value = "properties.updatedAt", access = JsonProperty.Access.WRITE_ONLY) private DateTime updatedAt; /** * Get the accessedAt value. * * @return the accessedAt value */ public DateTime accessedAt() { return this.accessedAt; } /** * Get the autoDeleteOnIdle value. * * @return the autoDeleteOnIdle value */ public String autoDeleteOnIdle() { return this.autoDeleteOnIdle; } /** * Set the autoDeleteOnIdle value. * * @param autoDeleteOnIdle the autoDeleteOnIdle value to set * @return the TopicInner object itself. */ public TopicInner withAutoDeleteOnIdle(String autoDeleteOnIdle) { this.autoDeleteOnIdle = autoDeleteOnIdle; return this; } /** * Get the createdAt value. * * @return the createdAt value */ public DateTime createdAt() { return this.createdAt; } /** * Get the countDetails value. * * @return the countDetails value */ public MessageCountDetails countDetails() { return this.countDetails; } /** * Get the defaultMessageTimeToLive value. * * @return the defaultMessageTimeToLive value */ public String defaultMessageTimeToLive() { return this.defaultMessageTimeToLive; } /** * Set the defaultMessageTimeToLive value. * * @param defaultMessageTimeToLive the defaultMessageTimeToLive value to set * @return the TopicInner object itself. */ public TopicInner withDefaultMessageTimeToLive(String defaultMessageTimeToLive) { this.defaultMessageTimeToLive = defaultMessageTimeToLive; return this; } /** * Get the duplicateDetectionHistoryTimeWindow value. * * @return the duplicateDetectionHistoryTimeWindow value */ public String duplicateDetectionHistoryTimeWindow() { return this.duplicateDetectionHistoryTimeWindow; } /** * Set the duplicateDetectionHistoryTimeWindow value. * * @param duplicateDetectionHistoryTimeWindow the duplicateDetectionHistoryTimeWindow value to set * @return the TopicInner object itself. */ public TopicInner withDuplicateDetectionHistoryTimeWindow(String duplicateDetectionHistoryTimeWindow) { this.duplicateDetectionHistoryTimeWindow = duplicateDetectionHistoryTimeWindow; return this; } /** * Get the enableBatchedOperations value. * * @return the enableBatchedOperations value */ public Boolean enableBatchedOperations() { return this.enableBatchedOperations; } /** * Set the enableBatchedOperations value. * * @param enableBatchedOperations the enableBatchedOperations value to set * @return the TopicInner object itself. */ public TopicInner withEnableBatchedOperations(Boolean enableBatchedOperations) { this.enableBatchedOperations = enableBatchedOperations; return this; } /** * Get the enableExpress value. * * @return the enableExpress value */ public Boolean enableExpress() { return this.enableExpress; } /** * Set the enableExpress value. * * @param enableExpress the enableExpress value to set * @return the TopicInner object itself. */ public TopicInner withEnableExpress(Boolean enableExpress) { this.enableExpress = enableExpress; return this; } /** * Get the enablePartitioning value. * * @return the enablePartitioning value */ public Boolean enablePartitioning() { return this.enablePartitioning; } /** * Set the enablePartitioning value. * * @param enablePartitioning the enablePartitioning value to set * @return the TopicInner object itself. */ public TopicInner withEnablePartitioning(Boolean enablePartitioning) { this.enablePartitioning = enablePartitioning; return this; } /** * Get the maxSizeInMegabytes value. * * @return the maxSizeInMegabytes value */ public Long maxSizeInMegabytes() { return this.maxSizeInMegabytes; } /** * Set the maxSizeInMegabytes value. * * @param maxSizeInMegabytes the maxSizeInMegabytes value to set * @return the TopicInner object itself. */ public TopicInner withMaxSizeInMegabytes(Long maxSizeInMegabytes) { this.maxSizeInMegabytes = maxSizeInMegabytes; return this; } /** * Get the requiresDuplicateDetection value. * * @return the requiresDuplicateDetection value */ public Boolean requiresDuplicateDetection() { return this.requiresDuplicateDetection; } /** * Set the requiresDuplicateDetection value. * * @param requiresDuplicateDetection the requiresDuplicateDetection value to set * @return the TopicInner object itself. */ public TopicInner withRequiresDuplicateDetection(Boolean requiresDuplicateDetection) { this.requiresDuplicateDetection = requiresDuplicateDetection; return this; } /** * Get the sizeInBytes value. * * @return the sizeInBytes value */ public Long sizeInBytes() { return this.sizeInBytes; } /** * Get the status value. * * @return the status value */ public EntityStatus status() { return this.status; } /** * Get the subscriptionCount value. * * @return the subscriptionCount value */ public Integer subscriptionCount() { return this.subscriptionCount; } /** * Get the supportOrdering value. * * @return the supportOrdering value */ public Boolean supportOrdering() { return this.supportOrdering; } /** * Set the supportOrdering value. * * @param supportOrdering the supportOrdering value to set * @return the TopicInner object itself. */ public TopicInner withSupportOrdering(Boolean supportOrdering) { this.supportOrdering = supportOrdering; return this; } /** * Get the updatedAt value. * * @return the updatedAt value */ public DateTime updatedAt() { return this.updatedAt; } }