blob: 366fb103f3df77ac78c41befb97dfc44f3c329bc [file] [log] [blame]
/* GENERATED SOURCE. DO NOT MODIFY. */
package com.android.internal.org.bouncycastle.jcajce.spec;
import java.security.spec.AlgorithmParameterSpec;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* @hide This class is not part of the Android public SDK API
*/
public class CompositeAlgorithmSpec
implements AlgorithmParameterSpec
{
/**
* @hide This class is not part of the Android public SDK API
*/
public static class Builder
{
private List<String> algorithmNames = new ArrayList<String>();
private List<AlgorithmParameterSpec> parameterSpecs = new ArrayList<AlgorithmParameterSpec>();
public Builder()
{
}
public Builder add(String algorithmName)
{
algorithmNames.add(algorithmName);
parameterSpecs.add(null);
return this;
}
public Builder add(String algorithmName, AlgorithmParameterSpec parameterSpec)
{
algorithmNames.add(algorithmName);
parameterSpecs.add(parameterSpec);
return this;
}
public CompositeAlgorithmSpec build()
{
if (algorithmNames.isEmpty())
{
throw new IllegalStateException("cannot call build with no algorithm names added");
}
return new CompositeAlgorithmSpec(this);
}
}
private final List<String> algorithmNames;
private final List<AlgorithmParameterSpec> parameterSpecs;
public CompositeAlgorithmSpec(Builder builder)
{
this.algorithmNames = Collections.unmodifiableList(new ArrayList<String>(builder.algorithmNames));
this.parameterSpecs = Collections.unmodifiableList(new ArrayList<AlgorithmParameterSpec>(builder.parameterSpecs));
}
public List<String> getAlgorithmNames()
{
return algorithmNames;
}
public List<AlgorithmParameterSpec> getParameterSpecs()
{
return parameterSpecs;
}
}