ObjectListing.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /*
  2. * Copyright (C) Alibaba Cloud Computing
  3. * All rights reserved.
  4. *
  5. * 版权所有 (C)阿里云计算有限公司
  6. */
  7. using System;
  8. using System.Collections.Generic;
  9. namespace Aliyun.OSS
  10. {
  11. /// <summary>
  12. /// 包含获取OSS的<see cref="Bucket" />中<see cref="OssObjectSummary" />列表的信息。
  13. /// </summary>
  14. public class ObjectListing
  15. {
  16. private readonly IList<OssObjectSummary> _objectSummaries = new List<OssObjectSummary>();
  17. private readonly IList<string> _commonPrefixes = new List<string>();
  18. /// <summary>
  19. /// 获取<see cref="OssObject" />所在<see cref="Bucket" />的名称。
  20. /// </summary>
  21. public string BucketName { get; private set; }
  22. /// <summary>
  23. /// 获取一个值表示用于下一个<see cref="P:ListObjectRequest.Marker" />以读取
  24. /// 结果列表的下一页。
  25. /// 如果结果列表没有被截取掉,则该属性返回null。
  26. /// </summary>
  27. public string NextMarker { get; internal set; }
  28. /// <summary>
  29. /// 是否结果被截取掉了
  30. /// </summary>
  31. [Obsolete("misspelled, please use IsTruncated instead")]
  32. public bool IsTrunked
  33. {
  34. get { return IsTruncated; }
  35. internal set { IsTruncated = value; }
  36. }
  37. /// <summary>
  38. /// 是否结果被截取掉了
  39. /// </summary>
  40. public bool IsTruncated { get; internal set; }
  41. /// <summary>
  42. /// 获取请求参数<see cref="P:ListObjectRequest.Marker" />的值。
  43. /// </summary>
  44. public string Marker { get; internal set; }
  45. /// <summary>
  46. /// 获取请求参数<see cref="P:ListObjectRequest.MaxKeys" />的值。
  47. /// </summary>
  48. public int MaxKeys { get; internal set; }
  49. /// <summary>
  50. /// 获取请求参数<see cref="P:ListObjectRequest.Prefix" />的值。
  51. /// </summary>
  52. public string Prefix { get; internal set; }
  53. /// <summary>
  54. /// 获取请求参数<see cref="P:ListObjectRequest.Delimiter" />的值。
  55. /// </summary>
  56. public string Delimiter { get; internal set; }
  57. /// <summary>
  58. /// 枚举满足查询条件的<see cref="OssObjectSummary" />。
  59. /// </summary>
  60. public IEnumerable<OssObjectSummary> ObjectSummaries
  61. {
  62. get { return _objectSummaries; }
  63. }
  64. /// <summary>
  65. /// 获取返回结果中的CommonPrefixes部分。
  66. /// </summary>
  67. public IEnumerable<string> CommonPrefixes
  68. {
  69. get { return _commonPrefixes; }
  70. }
  71. /// <summary>
  72. /// 构造一个新的<see cref="ObjectListing" />实例。
  73. /// </summary>
  74. /// <param name="bucketName"><see cref="Bucket" />的名称。</param>
  75. internal ObjectListing(string bucketName)
  76. {
  77. BucketName = bucketName;
  78. }
  79. internal void AddObjectSummary(OssObjectSummary summary)
  80. {
  81. _objectSummaries.Add(summary);
  82. }
  83. internal void AddCommonPrefix(string prefix)
  84. {
  85. _commonPrefixes.Add(prefix);
  86. }
  87. }
  88. }