IndexableBuilder

public abstract class IndexableBuilder extends Object
Known Direct Subclasses

The basic abstract builder to construct an Indexable.

Protected Constructor Summary

IndexableBuilder(String type)
Builder for a basic Indexable.

Public Method Summary

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 Method Summary

<S extends IndexableBuilder> T
put(String key, S... values)
Sets one or multiple Indexable values for a property.

Inherited Method Summary

Protected Constructors

protected IndexableBuilder (String type)

Builder for a basic Indexable.

Parameters
type 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.

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

Sets one or multiple boolean values for a property.

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

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

Sets one or multiple Indexable values for a property.

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

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

Sets one or multiple string values for a property.

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

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

Sets one or multiple long values for a property.

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

public final T setDescription (String description)

Sets the optional description of the content.

Parameters
description The description of the content.

public final T setImage (String url)

Sets the image of the content.

Parameters
url The web URL or content URI of the image.

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 The Indexable.Metadata.Builder which builds the metadata.

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.

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 The reference web page that unambiguously indicates the item's identity.

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 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.

Protected Methods

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

Sets one or multiple Indexable values for a property.

Parameters
key The schema.org property. Must not be null.
values The values represented as an IndexableBuilder. Null values are ignored.

Send feedback about...

Need help? Visit our support page.