SectionedItemTemplate.Builder


@ExperimentalCarApi
public final class SectionedItemTemplate.Builder


A builder that constructs SectionedItemTemplate instances.

Upon building, this class validates the following:

  • The template is not both loading and populated with sections
  • Only RowSection and/or GridSection are added as sections

Summary

Public constructors

Create a new SectionedItemTemplate builder.

Create a new SectionedItemTemplate builder, copying the values from an existing instance.

Public methods

@NonNull SectionedItemTemplate.Builder

Adds a single Action to this template, appending to the existing list of actions.

@NonNull SectionedItemTemplate.Builder

Adds a single Section to this template, appending to the existing list of sections.

@NonNull SectionedItemTemplate

Constructs a new SectionedItemTemplate from the current state of this builder, throwing exceptions for any invalid state.

@NonNull SectionedItemTemplate.Builder

Removes all actions in this template.

@NonNull SectionedItemTemplate.Builder

Removes all sections from this template.

@NonNull SectionedItemTemplate.Builder

Sets the actions that show up alongside the sections of this template (as opposed to the actions in the header), overwriting any other previously set actions from addAction or setActions.

@NonNull SectionedItemTemplate.Builder

Sets or clears the optional header for this template.

@NonNull SectionedItemTemplate.Builder
@CanIgnoreReturnValue
setLoading(boolean isLoading)

Sets whether or not this template is in a loading state.

@NonNull SectionedItemTemplate.Builder

Sets the sections in this template, overwriting any other previously set sections.

Public constructors

Builder

Added in 1.7.0-beta01
public Builder()

Create a new SectionedItemTemplate builder.

Builder

Added in 1.7.0-beta01
public Builder(@NonNull SectionedItemTemplate template)

Create a new SectionedItemTemplate builder, copying the values from an existing instance.

Public methods

addAction

Added in 1.7.0-beta01
@CanIgnoreReturnValue
public @NonNull SectionedItemTemplate.Builder addAction(@NonNull Action action)

Adds a single Action to this template, appending to the existing list of actions. All actions must conform to the ACTIONS_CONSTRAINTS_FAB constraints.

addSection

Added in 1.7.0-beta01
@CanIgnoreReturnValue
public @NonNull SectionedItemTemplate.Builder addSection(@NonNull Section<Object> section)

Adds a single Section to this template, appending to the existing list of sections. Only sections listed in Builder can be added.

See also
SectionedItemTemplate.Builder

for a list of allowed section types

build

Added in 1.7.0-beta01
public @NonNull SectionedItemTemplate build()

Constructs a new SectionedItemTemplate from the current state of this builder, throwing exceptions for any invalid state.

See also
SectionedItemTemplate.Builder

for the list of validation logic

clearActions

Added in 1.7.0-beta01
@CanIgnoreReturnValue
public @NonNull SectionedItemTemplate.Builder clearActions()

Removes all actions in this template.

clearSections

Added in 1.7.0-beta01
@CanIgnoreReturnValue
public @NonNull SectionedItemTemplate.Builder clearSections()

Removes all sections from this template.

setActions

Added in 1.7.0-beta01
@CanIgnoreReturnValue
public @NonNull SectionedItemTemplate.Builder setActions(@NonNull List<Action> actions)

Sets the actions that show up alongside the sections of this template (as opposed to the actions in the header), overwriting any other previously set actions from addAction or setActions. All actions must conform to the ACTIONS_CONSTRAINTS_FAB constraints.

setHeader

Added in 1.7.0-beta01
@CanIgnoreReturnValue
public @NonNull SectionedItemTemplate.Builder setHeader(@Nullable Header header)

Sets or clears the optional header for this template.

setLoading

Added in 1.7.0-beta01
@CanIgnoreReturnValue
public @NonNull SectionedItemTemplate.Builder setLoading(boolean isLoading)

Sets whether or not this template is in a loading state. If passed true, sections cannot be added to the template.

setSections

Added in 1.7.0-beta01
@CanIgnoreReturnValue
public @NonNull SectionedItemTemplate.Builder setSections(@NonNull List<Section<Object>> sections)

Sets the sections in this template, overwriting any other previously set sections. Only sections listed in Builder can be added.

See also
SectionedItemTemplate.Builder

for a list of allowed section types