From 97e788883a35b9b70e6d56f883e748fc798c7956 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 26 Oct 2020 15:40:38 +0100 Subject: [PATCH] More standard way for getting vendor name and version info. --- .../imageio/stream/ByteArrayImageInputStreamSpi.java | 8 +++++++- .../twelvemonkeys/imageio/stream/StreamProviderInfo.java | 9 +++++++++ .../imageio/stream/URLImageInputStreamSpi.java | 8 +++++++- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/StreamProviderInfo.java diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamSpi.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamSpi.java index a19af942..ce8afd5b 100755 --- a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamSpi.java +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamSpi.java @@ -30,6 +30,8 @@ package com.twelvemonkeys.imageio.stream; +import com.twelvemonkeys.imageio.spi.ProviderInfo; + import javax.imageio.spi.ImageInputStreamSpi; import javax.imageio.stream.ImageInputStream; import java.io.File; @@ -47,7 +49,11 @@ import java.util.Locale; public class ByteArrayImageInputStreamSpi extends ImageInputStreamSpi { public ByteArrayImageInputStreamSpi() { - super("TwelveMonkeys", "1.0 BETA", byte[].class); + this(new StreamProviderInfo()); + } + + private ByteArrayImageInputStreamSpi(ProviderInfo providerInfo) { + super(providerInfo.getVendorName(), providerInfo.getVersion(), byte[].class); } public ImageInputStream createInputStreamInstance(Object pInput, boolean pUseCache, File pCacheDir) throws IOException { diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/StreamProviderInfo.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/StreamProviderInfo.java new file mode 100644 index 00000000..42a48cac --- /dev/null +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/StreamProviderInfo.java @@ -0,0 +1,9 @@ +package com.twelvemonkeys.imageio.stream; + +import com.twelvemonkeys.imageio.spi.ProviderInfo; + +final class StreamProviderInfo extends ProviderInfo { + StreamProviderInfo() { + super(StreamProviderInfo.class.getPackage()); + } +} diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/URLImageInputStreamSpi.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/URLImageInputStreamSpi.java index e4a01f66..0a907c46 100644 --- a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/URLImageInputStreamSpi.java +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/URLImageInputStreamSpi.java @@ -30,6 +30,8 @@ package com.twelvemonkeys.imageio.stream; +import com.twelvemonkeys.imageio.spi.ProviderInfo; + import javax.imageio.spi.ImageInputStreamSpi; import javax.imageio.stream.FileCacheImageInputStream; import javax.imageio.stream.FileImageInputStream; @@ -53,7 +55,11 @@ import java.util.Locale; // TODO: URI instead of URL? public class URLImageInputStreamSpi extends ImageInputStreamSpi { public URLImageInputStreamSpi() { - super("TwelveMonkeys", "1.0 BETA", URL.class); + this(new StreamProviderInfo()); + } + + private URLImageInputStreamSpi(ProviderInfo providerInfo) { + super(providerInfo.getVendorName(), providerInfo.getVersion(), URL.class); } // TODO: Create a URI or URLImageInputStream class, with a getUR[I|L] method, to allow for multiple file formats