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 java.lang.Object implements Executor.Builder<ReflectiveModelExecutor>
Builder forReflectiveModelExecutor
.
-
-
Constructor Summary
Constructors Constructor Description Builder(HierarchyProvider hierarchy)
Construct the builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends ReflectiveModel<T>>
ReflectiveModelExecutor.BuilderaddSupportedModel(ReflectiveModelExecutor.SupportedModelInfo<T> modelInfo)
Add a model to support.ReflectiveModelExecutor.Builder
addSupportedModels(java.util.Collection<ReflectiveModelExecutor.SupportedModelInfo<? extends ReflectiveModel<?>>> modelInfo)
Add a models to support.ReflectiveModelExecutor
build()
Build an executor.
-
-
-
Constructor Detail
-
Builder
public Builder(HierarchyProvider hierarchy)
Construct the builder.- Parameters:
hierarchy
- the class hierarchy.
-
-
Method Detail
-
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(java.util.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
public ReflectiveModelExecutor build()
Description copied from interface:Executor.Builder
Build 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:
build
in interfaceExecutor.Builder<ReflectiveModelExecutor>
-
-