commit | 9590738c9bbbfe789f27eb48ab61b3ec8736a94b | [log] [tgz] |
---|---|---|
author | Romain Manni-Bucau <rmannibucau@gmail.com> | Thu Oct 31 16:09:40 2019 +0100 |
committer | Romain Manni-Bucau <rmannibucau@gmail.com> | Thu Oct 31 16:09:40 2019 +0100 |
tree | 0b7e17556663bda8f1a495ebc1e26cac067a992e | |
parent | c96ec81942843e16658c6a0039551200e48b028b [diff] |
adding unwrap to ArthurExtension#Context
diff --git a/arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/generator/DefautContext.java b/arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/generator/DefautContext.java index 3c84c20..076e791 100644 --- a/arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/generator/DefautContext.java +++ b/arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/generator/DefautContext.java
@@ -87,6 +87,17 @@ } } + @Override + public <T> T unwrap(final Class<T> type) { + if (ArthurNativeImageConfiguration.class == type) { + return type.cast(configuration); + } + if (type.isInstance(this)) { + return type.cast(this); + } + throw new IllegalArgumentException("Unsupported unwrapping: " + type); + } + public void addReflectionConfigFile(final String path) { if (configuration.getReflectionConfigurationFiles() == null) { configuration.setReflectionConfigurationFiles(new ArrayList<>());
diff --git a/arthur-spi/src/main/java/org/apache/geronimo/arthur/spi/ArthurExtension.java b/arthur-spi/src/main/java/org/apache/geronimo/arthur/spi/ArthurExtension.java index 376c5f1..34a28cf 100644 --- a/arthur-spi/src/main/java/org/apache/geronimo/arthur/spi/ArthurExtension.java +++ b/arthur-spi/src/main/java/org/apache/geronimo/arthur/spi/ArthurExtension.java
@@ -55,5 +55,7 @@ void register(ResourceBundleModel resourceModel); void register(DynamicProxyModel dynamicProxyModel); + + <T> T unwrap(Class<T> type); } }