public abstract class

IndexableBuilder

extends Object
java.lang.Object
   ↳ com.google.firebase.appindexing.builders.IndexableBuilder<T extends com.google.firebase.appindexing.builders.IndexableBuilder<?>>
Known Direct Subclasses

Class Overview

The basic abstract builder to construct an Indexable.

Summary

Protected Constructors
IndexableBuilder(String type)
Builder for a basic Indexable.
Public Methods
final Indexable build()
Finalize building the object.
T put(String key, boolean... values)
Sets one or multiple boolean values for a property.
T put(String key, Indexable... values)
Sets one or multiple Indexable values for a property.
T put(String key, String... values)
Sets one or multiple string values for a property.
T put(String key, long... values)
Sets one or multiple long values for a property.
final T setDescription(String description)
Sets the optional description of the content.
final T setImage(String url)
Sets the image of the content.
T setMetadata(Indexable.Metadata.Builder metadataBuilder)
Sets the metadata.
final T setName(String name)
Sets the name of the content, must not be null.
final T setSameAs(String webUrl)
Sets the corresponding web URL.
final T setUrl(String url)
Sets the URL.
Protected Methods
<S extends IndexableBuilder> T put(String key, S... values)
Sets one or multiple Indexable values for a property.
[Expand]
Inherited Methods
From class java.lang.Object

Protected Constructors

protected IndexableBuilder (String type)

Builder for a basic Indexable.

Parameters
type String: The schema.org type of the Indexable, must not be null or empty.

Public Methods

public final Indexable build ()

Finalize building the object. The Indexable being returned can be put into the index via the FirebaseAppIndex interface.

Returns
Indexable

public T put (String key, boolean... values)

Sets one or multiple boolean values for a property.

Parameters
key String: The schema.org property. Must not be null.
values boolean: The boolean values of the schema.org property. Null values are ignored.
Returns
T

public T put (String key, Indexable... values)

Sets one or multiple Indexable values for a property.

Parameters
key String: The schema.org property. Must not be null.
values Indexable: The values represented as an Indexable. Null values are ignored. Indexables must be constructed using Indexable.Builder or convenience methods.
Returns
T
Throws
FirebaseAppIndexingInvalidArgumentException

public T put (String key, String... values)

Sets one or multiple string values for a property.

Parameters
key String: The schema.org property. Must not be null.
values String: The string values of the schema.org property. Null values are ignored.
Returns
T

public T put (String key, long... values)

Sets one or multiple long values for a property.

Parameters
key String: The schema.org property. Must not be null.
values long: The long values of the schema.org property. Null values are ignored.
Returns
T

public final T setDescription (String description)

Sets the optional description of the content.

Parameters
description String: The description of the content.
Returns
T

public final T setImage (String url)

Sets the image of the content.

Parameters
url String: The web URL or content URI of the image.
Returns
T

public T setMetadata (Indexable.Metadata.Builder metadataBuilder)

Sets the metadata. If not invoked default metadata values are applied.

May only be called once and only on top-level Indexables.

Parameters
metadataBuilder Indexable.Metadata.Builder: The Indexable.Metadata.Builder which builds the metadata.
Returns
T

public final T setName (String name)

Sets the name of the content, must not be null. For more information, visit these guidelines for providing a descriptive name.

Parameters
name String
Returns
T

public final T setSameAs (String webUrl)

Sets the corresponding web URL. The web URL is a reference web page that unambiguously indicates the item's identity.

Parameters
webUrl String: The reference web page that unambiguously indicates the item's identity.
Returns
T

public final T setUrl (String url)

Sets the URL. The URL must be openable by the app. This is mandatory to be set. The URL uniquely identifies the Indexable within the app.

Parameters
url String: The deep link URL which is not longer than Indexable.MAX_URL_LENGTH and openable by the app. The URL must be handled by app intent filter. Find detailed information on handling deep links here.
Returns
T

Protected Methods

protected T put (String key, S... values)

Sets one or multiple Indexable values for a property.

Parameters
key String: The schema.org property. Must not be null.
values S: The values represented as an IndexableBuilder. Null values are ignored.
Returns
T