public final class

SnapshotEntity

extends Object
implements SafeParcelable Snapshot
java.lang.Object
   ↳ com.google.android.gms.games.snapshot.SnapshotEntity

Class Overview

Data object representing the data for a saved game. This is immutable, and therefore safe to cache or store. Note, however, that the data it represents may grow stale.

This class exists solely to support parceling these objects and should not be used directly.

Summary

[Expand]
Inherited Constants
From interface android.os.Parcelable
From interface com.google.android.gms.common.internal.safeparcel.SafeParcelable
Fields
public static final SnapshotEntityCreator CREATOR
Public Methods
int describeContents()
boolean equals(Object obj)
Snapshot freeze()
Freeze a volatile representation into an immutable representation.
Contents getContents()
SnapshotMetadata getMetadata()
Retrieves the metadata for this snapshot.
SnapshotContents getSnapshotContents()
Retrieve the SnapshotContents associated with this snapshot.
int hashCode()
boolean isDataValid()
Check to see if this object is valid for use.
boolean modifyBytes(int dstOffset, byte[] content, int srcOffset, int count)
Write the specified data into the snapshot.
byte[] readFully()
Read the contents of a snapshot.
String toString()
boolean writeBytes(byte[] content)
Write the specified data into the snapshot.
void writeToParcel(Parcel out, int flags)
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable
From interface com.google.android.gms.common.data.Freezable
From interface com.google.android.gms.games.snapshot.Snapshot

Fields

public static final SnapshotEntityCreator CREATOR

Public Methods

public int describeContents ()

public boolean equals (Object obj)

public Snapshot freeze ()

Freeze a volatile representation into an immutable representation. Objects returned from this call are safe to cache.

Note that the output of freeze may not be identical to the parent object, but should be equal. In other words:

 
 Freezable f1 = new Freezable();
 Freezable f2 = f1.freeze();
 f1 == f2 may not be true.
 f1.equals(f2) will be true.
 
 

Returns
  • A concrete implementation of the data object.

public Contents getContents ()

public SnapshotMetadata getMetadata ()

Retrieves the metadata for this snapshot.

Returns

public SnapshotContents getSnapshotContents ()

Retrieve the SnapshotContents associated with this snapshot. This object can be used to update the data of a snapshot. Note that this will return null if this snapshot was not obtained via open(GoogleApiClient, SnapshotMetadata).

Returns

public int hashCode ()

public boolean isDataValid ()

Check to see if this object is valid for use. If the object is still volatile, this method will indicate whether or not the object can be safely used. The output of a call to freeze() will always be valid.

Returns
  • whether or not the object is valid for use.

public boolean modifyBytes (int dstOffset, byte[] content, int srcOffset, int count)

Write the specified data into the snapshot. The contents of the snapshot will be replaced with the data provided in content. The data will be persisted on disk, but is not uploaded to the server until the snapshot is committed via commitAndClose(GoogleApiClient, Snapshot, SnapshotMetadataChange).

Note that this form of the API does not necessarily overwrite the entire contents of the file. If you are writing less data than was previously stored in the snapshot, the excess data will remain. Use writeBytes(byte[]) to fully overwrite the file.

If the snapshot was not opened via open(GoogleApiClient, SnapshotMetadata), or if the contents have already been committed via commitAndClose(GoogleApiClient, Snapshot, SnapshotMetadataChange), this method will throw an exception.

Parameters
dstOffset Position in the snapshot file to start writing data to. 0 indicates the head of the file.
content The data to write.
srcOffset Position in content to start writing from.
count Number of bytes from content to write to this snapshot.
Returns
  • Whether or not the data was successfully written to disk.

public byte[] readFully ()

Read the contents of a snapshot.

If this snapshot was not opened via open(GoogleApiClient, SnapshotMetadata), or if the contents have already been committed via commitAndClose(GoogleApiClient, Snapshot, SnapshotMetadataChange) this method will throw an exception.

Returns
  • The bytes of the snapshot contents.

public String toString ()

public boolean writeBytes (byte[] content)

Write the specified data into the snapshot. The contents of the snapshot will be replaced with the data provided in content. The data will be persisted on disk, but is not uploaded to the server until the snapshot is committed via commitAndClose(GoogleApiClient, Snapshot, SnapshotMetadataChange).

Note that this form of the API will fully overwrite the contents of the file. No previous data will be retained. Use modifyBytes(int, byte[], int, int) to overwrite parts of the file.

If the snapshot was not opened via open(GoogleApiClient, SnapshotMetadata), or if the contents have already been committed via commitAndClose(GoogleApiClient, Snapshot, SnapshotMetadataChange), this method will throw an exception.

Parameters
content The data to write.
Returns
  • Whether or not the data was successfully written to disk.

public void writeToParcel (Parcel out, int flags)