Class: Google::Apis::CloudsearchV1::ItemThread

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudsearch_v1/classes.rb,
lib/google/apis/cloudsearch_v1/representations.rb,
lib/google/apis/cloudsearch_v1/representations.rb

Overview

An ItemThread is an ordered list of Items. An ItemThread corresponds to a " conversation" in the context of mail. An Item belongs to exactly one ItemThread.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ItemThread

Returns a new instance of ItemThread.



12642
12643
12644
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12642

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#cluster_infoGoogle::Apis::CloudsearchV1::ClusterInfo

ClusterInfo contains clustering related information for a particular thread that would be sent as part of the conversation view. Today, this information would be used by iOS notification server to identify whether the thread belongs to a cluster. If the thread belongs to a grouped cluster, it would identify whether the cluster is throttled. Corresponds to the JSON property clusterInfo



12564
12565
12566
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12564

def cluster_info
  @cluster_info
end

#itemArray<Google::Apis::CloudsearchV1::FuseboxItem>

The Items in the ItemThread. In the context of a search, the list of Items may be a subset of those that logically belong to the ItemThread. The details of which items are included are available in the ItemThreadView returned in the overall rpc response. Corresponds to the JSON property item



12572
12573
12574
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12572

def item
  @item
end

#last_item_idFixnum

The server id of the last item returned in the ItemThread. This can be deduced from the [item] list but is provided for convenience. When manually constructing an ItemThreadViewSpec to perform operations on the ItemThread, this value can be used as the [high_item_id_watermark]. Corresponds to the JSON property lastItemId

Returns:

  • (Fixnum)


12580
12581
12582
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12580

def last_item_id
  @last_item_id
end

#match_infoGoogle::Apis::CloudsearchV1::FuseboxItemThreadMatchInfo

In the context of a search, the MatchInfo contains information about which Items matched the query. Corresponds to the JSON property matchInfo



12586
12587
12588
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12586

def match_info
  @match_info
end

#snippetString

A snippet summarizing the thread. This field is only populated for searches. Corresponds to the JSON property snippet

Returns:

  • (String)


12591
12592
12593
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12591

def snippet
  @snippet
end

#thread_keyGoogle::Apis::CloudsearchV1::MultiKey

A union-like type for identifiying an object in storage. MultiKeys contain multiple key fields, each in a separate key space. At least one key field must be set. More than one key field may be set as long as all key values refer to the same object. All objects in storage have unique server_id keys. All MultiKeys returned from storage to storage clients will always have the server_id field set. When creating an object, if a MultiKey without a server_id is supplied to storage, the storage system will auto-assign a server ID to the new object. For all other storage requests (i.e. those not creating new objects), clients may omit server_id (as long as they supply another key). Instead of server ids, clients can specify string based client_assigned_perm_id keys. Mail message drafts are a prime example of these kinds of objects. Each time a user saves a new version of a draft, the storage system needs to create a new object with the updated draft content and needs to delete the object containing the old content. The new object gets a new SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted object containing the old content. Carrying forward the perm ID allows it to be used to consistently refer to the same logical object across revisions. These perm IDs save sync clients from having to deal with changing object IDs. For example, assume there's a mail message in storage with SERVER_ID = 123 and CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of addressing the object using MultiKeys: 1) MultiKey server_id = 123 2) MultiKey server_id = 123, client_assigned_perm_id = "foo" 3) MultiKey client_assigned_perm_id = "foo" Multikeys are never serialized in the storage. The individual keys are extracted and processed separately. Both the integer ids as well as string ids are indexed for efficient retrieval using the same fields in the backend. See go/tingle-multikeys for more information on background and motivation. Corresponds to the JSON property threadKey



12622
12623
12624
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12622

def thread_key
  @thread_key
end

#thread_locatorString

A base64 encoded and encrypted string generated from the Gaia Id and the thread id. Used to generate the permalink for this thread, exposed from Gmail API. Corresponds to the JSON property threadLocator

Returns:

  • (String)


12629
12630
12631
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12629

def thread_locator
  @thread_locator
end

#topic_stateGoogle::Apis::CloudsearchV1::TopicState

State of an topic thread as maintained within Tingle. Corresponds to the JSON property topicState



12634
12635
12636
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12634

def topic_state
  @topic_state
end

#versionFixnum

The latest history operation id that resulted in a mutation of any item in the thread. Corresponds to the JSON property version

Returns:

  • (Fixnum)


12640
12641
12642
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12640

def version
  @version
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 12647

def update!(**args)
  @cluster_info = args[:cluster_info] if args.key?(:cluster_info)
  @item = args[:item] if args.key?(:item)
  @last_item_id = args[:last_item_id] if args.key?(:last_item_id)
  @match_info = args[:match_info] if args.key?(:match_info)
  @snippet = args[:snippet] if args.key?(:snippet)
  @thread_key = args[:thread_key] if args.key?(:thread_key)
  @thread_locator = args[:thread_locator] if args.key?(:thread_locator)
  @topic_state = args[:topic_state] if args.key?(:topic_state)
  @version = args[:version] if args.key?(:version)
end