You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2020/03/15 12:45:31 UTC

[maven-artifact-transfer] 04/05: Improved type handling via generics

This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch MSHARED-864
in repository https://gitbox.apache.org/repos/asf/maven-artifact-transfer.git

commit 449326aa839374635e4187aa4f31ab51094dff47
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Mar 14 23:14:57 2020 +0100

    Improved type handling via generics
---
 .../transfer/dependencies/resolve/internal/Invoker.java      | 12 ++++++------
 .../dependencies/resolve/internal/Maven30ArtifactResult.java |  2 +-
 .../resolve/internal/Maven30DependencyResolver.java          |  4 ++--
 .../dependencies/resolve/internal/Maven31ArtifactResult.java |  2 +-
 .../resolve/internal/Maven31DependencyResolver.java          |  4 ++--
 5 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java
index 3c8619f..f98a0ce 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java
@@ -33,10 +33,10 @@ final class Invoker
         // do not instantiate
     }
 
-    public static Object invoke( Object object, String method )
+    public static <T> T invoke( Object object, String method )
         throws DependencyResolverException
     {
-        return invoke( object.getClass(), object, method );
+        return (T) invoke( object.getClass(), object, method );
     }
 
     public static Object invoke( Class<?> objectClazz, Object object, String method )
@@ -82,12 +82,12 @@ final class Invoker
         }
     }
 
-    public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
+    public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
         throws DependencyResolverException
     {
         try
         {
-            return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
+            return (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
         }
         catch ( IllegalAccessException e )
         {
@@ -113,12 +113,12 @@ final class Invoker
      * @return the result of the method invocation
      * @throws DependencyResolverException if any checked exception occurs
      */
-    public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
+    public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
         throws DependencyResolverException
     {
         try
         {
-            return objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
+            return (T) objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
         }
         catch ( IllegalAccessException e )
         {
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30ArtifactResult.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30ArtifactResult.java
index ce1f497..9ba5af8 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30ArtifactResult.java
@@ -48,7 +48,7 @@ class Maven30ArtifactResult
     {
         try
         {
-            return (org.apache.maven.artifact.Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+            return Invoker.invoke( RepositoryUtils.class, "toArtifact",
                                                                         Artifact.class, artifactResult.getArtifact() );
         }
         catch ( DependencyResolverException e )
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver.java
index b50cd56..6210566 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver.java
@@ -95,7 +95,7 @@ class Maven30DependencyResolver
 
     private ArtifactTypeRegistry createTypeRegistry() throws DependencyResolverException
     {
-        return (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+        return Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
                 ArtifactHandlerManager.class, artifactHandlerManager );
     }
 
@@ -254,6 +254,6 @@ class Maven30DependencyResolver
     {
         Object[] args = new Object[] { mavenDependency, typeRegistry };
 
-        return (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", ARG_CLASSES, args );
+        return Invoker.invoke( RepositoryUtils.class, "toDependency", ARG_CLASSES, args );
     }  
 }
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31ArtifactResult.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31ArtifactResult.java
index dba4e8e..fe26ce4 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31ArtifactResult.java
@@ -48,7 +48,7 @@ class Maven31ArtifactResult
     {
         try
         {
-            return (org.apache.maven.artifact.Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+            return Invoker.invoke( RepositoryUtils.class, "toArtifact",
                                                                         Artifact.class, artifactResult.getArtifact() );
         }
         catch ( DependencyResolverException e )
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31DependencyResolver.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31DependencyResolver.java
index 7a58765..e349cc7 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31DependencyResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31DependencyResolver.java
@@ -96,7 +96,7 @@ class Maven31DependencyResolver
 
     private ArtifactTypeRegistry createTypeRegistry() throws DependencyResolverException
     {
-        return (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+        return Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
                 ArtifactHandlerManager.class, artifactHandlerManager );
     }
 
@@ -249,6 +249,6 @@ class Maven31DependencyResolver
     {
         Object[] args = new Object[] { root, typeRegistry };
 
-        return (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", ARG_CLASSES, args );
+        return Invoker.invoke( RepositoryUtils.class, "toDependency", ARG_CLASSES, args );
     }    
 }