Package proguard.evaluation.executor
Class ReflectiveModelExecutor.Builder
java.lang.Object
proguard.evaluation.executor.ReflectiveModelExecutor.Builder
- All Implemented Interfaces:
Executor.Builder<ReflectiveModelExecutor>
- Enclosing class:
- ReflectiveModelExecutor
public static class ReflectiveModelExecutor.Builder
extends Object
implements Executor.Builder<ReflectiveModelExecutor>
Builder for
ReflectiveModelExecutor.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T extends ReflectiveModel<T>>
ReflectiveModelExecutor.BuilderaddSupportedModel(ReflectiveModelExecutor.SupportedModelInfo<T> modelInfo) Add a model to support.addSupportedModels(Collection<ReflectiveModelExecutor.SupportedModelInfo<? extends ReflectiveModel<?>>> modelInfo) Add a models to support.build()Build an executor.
-
Constructor Details
-
Builder
Construct the builder.- Parameters:
hierarchy- the class hierarchy.
-
-
Method Details
-
addSupportedModel
public <T extends ReflectiveModel<T>> ReflectiveModelExecutor.Builder addSupportedModel(ReflectiveModelExecutor.SupportedModelInfo<T> modelInfo) Add a model to support.- Type Parameters:
T- recursive generic type of the model.- Parameters:
modelInfo- information on which model to support and how to support it.- Returns:
- the builder.
-
addSupportedModels
public ReflectiveModelExecutor.Builder addSupportedModels(Collection<ReflectiveModelExecutor.SupportedModelInfo<? extends ReflectiveModel<?>>> modelInfo) Add a models to support.- Parameters:
modelInfo- information on which models to support and how to support each of them.- Returns:
- the builder.
-
build
Description copied from interface:Executor.BuilderBuild an executor. If the executor keeps internal state this method needs to guarantee that no data is shared between the different implementations (unless needed by design, e.g., for caching).- Specified by:
buildin interfaceExecutor.Builder<ReflectiveModelExecutor>
-