OpenSslCertificateCompressionConfig Class — netty Architecture
Architecture documentation for the OpenSslCertificateCompressionConfig class in OpenSslCertificateCompressionConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD a6d18277_56e5_50c4_69e5_d7b81628a565["OpenSslCertificateCompressionConfig"] 31d61dd0_486f_ac2c_1823_02a735027ec9["OpenSslCertificateCompressionConfig.java"] a6d18277_56e5_50c4_69e5_d7b81628a565 -->|defined in| 31d61dd0_486f_ac2c_1823_02a735027ec9 c011d744_5030_b0af_1306_fdd9669a4cc3["OpenSslCertificateCompressionConfig()"] a6d18277_56e5_50c4_69e5_d7b81628a565 -->|method| c011d744_5030_b0af_1306_fdd9669a4cc3 5f154d81_54fe_ef79_eff6_3b2c453f1de3["iterator()"] a6d18277_56e5_50c4_69e5_d7b81628a565 -->|method| 5f154d81_54fe_ef79_eff6_3b2c453f1de3 22146f7f_d717_c26f_c398_0ae765ff47ce["Builder()"] a6d18277_56e5_50c4_69e5_d7b81628a565 -->|method| 22146f7f_d717_c26f_c398_0ae765ff47ce
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/ssl/OpenSslCertificateCompressionConfig.java lines 29–137
public final class OpenSslCertificateCompressionConfig implements
Iterable<OpenSslCertificateCompressionConfig.AlgorithmConfig> {
private final List<AlgorithmConfig> pairList;
private OpenSslCertificateCompressionConfig(AlgorithmConfig... pairs) {
pairList = Collections.unmodifiableList(Arrays.asList(pairs));
}
@Override
public Iterator<AlgorithmConfig> iterator() {
return pairList.iterator();
}
/**
* Creates a new {@link Builder} for a config.
*
* @return a bulder
*/
public static Builder newBuilder() {
return new Builder();
}
/**
* Builder for an {@link OpenSslCertificateCompressionAlgorithm}.
*/
public static final class Builder {
private final List<AlgorithmConfig> algorithmList = new ArrayList<AlgorithmConfig>();
private Builder() { }
/**
* Adds a certificate compression algorithm.
* For servers, algorithm preference order is dictated by the order of algorithm registration.
* Most preferred algorithm should be registered first.
*
* @param algorithm implementation of the compression and or decompression algorithm as a
* {@link OpenSslCertificateCompressionAlgorithm}
* @param mode indicates whether decompression support should be advertized, compression should be applied
* for peers which support it, or both. This allows the caller to support one way compression
* only.
* @return self.
*/
public Builder addAlgorithm(OpenSslCertificateCompressionAlgorithm algorithm, AlgorithmMode mode) {
algorithmList.add(new AlgorithmConfig(algorithm, mode));
return this;
}
/**
* Build a new {@link OpenSslCertificateCompressionConfig} based on the previous
* added {@link OpenSslCertificateCompressionAlgorithm}s.
*
* @return a new config.
*/
public OpenSslCertificateCompressionConfig build() {
return new OpenSslCertificateCompressionConfig(algorithmList.toArray(new AlgorithmConfig[0]));
}
}
/**
* The configuration for algorithm.
*/
public static final class AlgorithmConfig {
private final OpenSslCertificateCompressionAlgorithm algorithm;
private final AlgorithmMode mode;
private AlgorithmConfig(OpenSslCertificateCompressionAlgorithm algorithm, AlgorithmMode mode) {
this.algorithm = ObjectUtil.checkNotNull(algorithm, "algorithm");
this.mode = ObjectUtil.checkNotNull(mode, "mode");
}
/**
* The {@link AlgorithmMode}
*
* @return the usage mode.
*/
public AlgorithmMode mode() {
return mode;
}
/**
* The configured {@link OpenSslCertificateCompressionAlgorithm}.
Source
Frequently Asked Questions
What is the OpenSslCertificateCompressionConfig class?
OpenSslCertificateCompressionConfig is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/OpenSslCertificateCompressionConfig.java.
Where is OpenSslCertificateCompressionConfig defined?
OpenSslCertificateCompressionConfig is defined in handler/src/main/java/io/netty/handler/ssl/OpenSslCertificateCompressionConfig.java at line 29.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free