@Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("BlobProperties[");
    sb.append("BlobSize=").append(getBlobSize());
    sb.append(", ").append("ContentType=").append(getContentType());
    sb.append(", ").append("OwnerId=").append(getOwnerId());
    sb.append(", ").append("ServiceId=").append(getServiceId());
    sb.append(", ").append("IsPrivate=").append(isPrivate());
    sb.append(", ").append("CreationTimeInMs=").append(getCreationTimeInMs());
    if (getTimeToLiveInSeconds() != Utils.Infinite_Time) {
      sb.append(", ").append("TimeToLiveInSeconds=").append(getTimeToLiveInSeconds());
    } else {
      sb.append(", ").append("TimeToLiveInSeconds=Infinite");
    }
    sb.append(", ").append("AccountId=").append(getAccountId());
    sb.append(", ").append("ContainerId=").append(getContainerId());
    sb.append(", ").append("IsEncrypted=").append(isEncrypted());
    sb.append(", ").append("externalAssetTag=").append(getExternalAssetTag());
    sb.append(", ").append("ContentEncoding=").append(getContentEncoding());
    sb.append(", ").append("Filename=").append(getFilename());
    sb.append(", ")
        .append("ReservedMetadataBlobId=")
        .append(nullOrEmptry(getReservedMetadataBlobId())? "null" : getReservedMetadataBlobId());
    sb.append("]");
    return sb.toString();
  }
@param blobSize the new blob size in bytes
ambry-api/src/main/java/com/github/ambry/messageformat/BlobProperties.java