public interface

ExtendableBuilder<T>

 androidx.camera.core.ExtendableBuilder<T>

Subclasses:

ImageAnalysis.Builder, VideoCapture.Builder, Preview.Builder, ImageCapture.Builder, UseCaseConfig.Builder<T, C, B>, VideoCapture.Builder<T>, CaptureRequestOptions.Builder, Camera2ImplConfig.Builder

Gradle dependencies

compile group: 'androidx.camera', name: 'camera-core', version: '1.2.0-alpha01'

  • groupId: androidx.camera
  • artifactId: camera-core
  • version: 1.2.0-alpha01

Artifact androidx.camera:camera-core:1.2.0-alpha01 it located at Google repository (https://maven.google.com/)

Overview

Extendable builders are used to add externally defined options that can be passed to the implementation being built.

Summary

Methods
public java.lang.Objectbuild()

Creates an instance of the object that this builder produces.

public MutableConfiggetMutableConfig()

Returns the underlying MutableConfig being modified by this builder.

Methods

public MutableConfig getMutableConfig()

Returns the underlying MutableConfig being modified by this builder.

Returns:

The underlying MutableConfig.

public java.lang.Object build()

Creates an instance of the object that this builder produces.

Source

/*
 * Copyright 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.camera.core;

import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import androidx.camera.core.impl.MutableConfig;

/**
 * Extendable builders are used to add externally defined options that can be passed to the
 * implementation being built.
 *
 * @param <T> the type being built by this builder.
 */
@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java
public interface ExtendableBuilder<T> {

    /**
     * Returns the underlying {@link MutableConfig} being modified by this builder.
     *
     * @return The underlying {@link MutableConfig}.
     * @hide
     */
    @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    @NonNull
    MutableConfig getMutableConfig();

    /** Creates an instance of the object that this builder produces. */
    @NonNull
    T build();
}