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.BuilderaddSupportedModels(java.util.Collection<ReflectiveModelExecutor.SupportedModelInfo<? extends ReflectiveModel<?>>> modelInfo)Add a models to support.ReflectiveModelExecutorbuild()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.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>
-
-