1 package org.apache.maven.shared.transfer.artifact.resolve.internal;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.lang.reflect.InvocationTargetException;
23
24 import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException;
25
26
27
28
29 final class Invoker
30 {
31
32 private Invoker()
33 {
34
35 }
36
37 public static <T> T invoke( Object object, String method )
38 throws ArtifactResolverException
39 {
40 try
41 {
42 @SuppressWarnings( "unchecked" )
43 T invoke = (T) object.getClass().getMethod( method ).invoke( object );
44 return invoke;
45 }
46 catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
47 {
48 throw new ArtifactResolverException( e.getMessage(), e );
49 }
50 }
51
52 public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
53 throws ArtifactResolverException
54 {
55 try
56 {
57 @SuppressWarnings( "unchecked" )
58 T invoke = (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
59 return invoke;
60 }
61 catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
62 {
63 throw new ArtifactResolverException( e.getMessage(), e );
64 }
65 }
66
67 }