Class StreamEncoderRegistry
java.lang.Object
de.craftsblock.craftsnet.api.http.encoding.StreamEncoderRegistry
A registry for managing and retrieving
StreamEncoder instances.
This class is responsible for registering, unregistering, and checking the availability of stream encoders.- Since:
- 3.3.3-SNAPSHOT
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a newStreamEncoderRegistryand registers the built-in stream encoders. -
Method Summary
Modifier and TypeMethodDescription@Unmodifiable @NotNull Collection<StreamEncoder>Retrieves a list of all registeredStreamEncoder.booleanisAvailable(@NotNull String encoding) Checks if anStreamEncoderwith the given encoding name is available.booleanisRegistered(@NotNull StreamEncoder streamEncoder) Checks if the givenStreamEncoderis already registered.booleanisRegistered(@NotNull String encoding) Checks if anStreamEncoderwith the given encoding name is registered.voidregister(@NotNull StreamEncoder streamEncoder) Registers a newStreamEncoderif it is not already registered.@Nullable StreamEncoderretrieveEncoder(@NotNull Class<? extends StreamEncoder> type) Retrieves aStreamEncoderby its type.@Nullable StreamEncoderretrieveEncoder(@NotNull String encoding) Retrieves aStreamEncoderby its encoding name.voidunregister(@NotNull StreamEncoder streamEncoder) Unregisters the givenStreamEncoder.voidunregister(@NotNull String encoding) Unregisters theStreamEncoderassociated with the given encoding name.
-
Constructor Details
-
StreamEncoderRegistry
public StreamEncoderRegistry()Constructs a newStreamEncoderRegistryand registers the built-in stream encoders.
-
-
Method Details
-
register
Registers a newStreamEncoderif it is not already registered.- Parameters:
streamEncoder- TheStreamEncoderto register.
-
unregister
Unregisters the givenStreamEncoder. TheIdentityStreamEncoderencoder cannot be unregistered, as it is a default encoder.- Parameters:
streamEncoder- TheStreamEncoderto unregister.- Throws:
IllegalArgumentException- if trying to unregister theIdentityStreamEncoderencoder.
-
unregister
Unregisters theStreamEncoderassociated with the given encoding name. The "identity" encoding cannot be unregistered.- Parameters:
encoding- The encoding name of the stream encoder to unregister.- Throws:
IllegalArgumentException- if trying to unregister the "identity" encoder.
-
isRegistered
Checks if the givenStreamEncoderis already registered.- Parameters:
streamEncoder- TheStreamEncoderto check.- Returns:
trueif the encoder is registered,falseotherwise.
-
isRegistered
Checks if anStreamEncoderwith the given encoding name is registered.- Parameters:
encoding- The encoding name to check.- Returns:
trueif the encoding is registered,falseotherwise.
-
isAvailable
Checks if anStreamEncoderwith the given encoding name is available. An encoder is considered available if it is registered and theStreamEncoder.isAvailable()method returnstrue.- Parameters:
encoding- The encoding name to check.- Returns:
trueif the encoder is available,falseotherwise.
-
retrieveEncoder
Retrieves aStreamEncoderby its encoding name. The encoder must be available, meaning it is registered andStreamEncoder.isAvailable()returnstrue.- Parameters:
encoding- The encoding name of the encoder to retrieve.- Returns:
- The
StreamEncoderfor the given encoding name, ornullif no available encoder is found.
-
retrieveEncoder
@Nullable public @Nullable StreamEncoder retrieveEncoder(@NotNull @NotNull Class<? extends StreamEncoder> type) Retrieves aStreamEncoderby its type. The encoder must be available, meaning it is registered andStreamEncoder.isAvailable()returnstrue.- Parameters:
type- The class type of the encoder to retrieve.- Returns:
- The
StreamEncoderof the given type, ornullif no available encoder of that type is found.
-
getStreamEncoders
Retrieves a list of all registeredStreamEncoder.- Returns:
- The list of
StreamEncoder. - Since:
- 3.3.5-SNAPSHOT
-